Вопросы с тегом «popen»

8
Подпроцесс Python / Popen с измененной средой
Я считаю, что запуск внешней команды с немного измененной средой является очень распространенным случаем. Вот как я это делаю: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) У меня есть чувство, что есть лучший способ; это выглядит хорошо?
286 python  subprocess  popen 

1
Как я могу указать рабочий каталог для popen
Есть ли способ указать действующий каталог команды в Python subprocess.Popen()? Например: Popen('c:\mytool\tool.exe', workingdir='d:\test\local') Мой скрипт Python находится в C:\programs\python Возможно ли запустить C:\mytool\tool.exeв каталоге D:\test\local? Как мне установить рабочий каталог для подпроцесса?
187 python  subprocess  popen 

2
В чем разница между подпроцессом Popen и call (как я могу их использовать)?
Я хочу вызвать внешнюю программу из Python. Я использовал и то, Popen()и другое call(). В чем разница между двумя? Моя конкретная цель - запустить следующую команду из Python. Я не уверен, как перенаправления работают. ./my_script.sh > output Я прочитал документацию и там написано, что call()это удобная функция или функция быстрого …
178 python  subprocess  popen 

3
Как использовать подпроцесс popen Python
Поскольку os.popen заменяется на subprocess.popen, мне было интересно, как бы я преобразовал os.popen('swfdump /tmp/filename.swf/ -d') в subprocess.popen () Я попытался: subprocess.Popen("swfdump /tmp/filename.swf -d") subprocess.Popen("swfdump %s -d" % (filename)) # NOTE: filename is a variable # containing /tmp/filename.swf Но, наверное, я неправильно это записываю. Любая помощь будет оценена. Спасибо
103 python  subprocess  popen 

4
Почему Popen.communicate () возвращает b'hi \ n 'вместо' hi '?
Может ли кто-нибудь объяснить, почему результат, который я хочу, «привет», начинается с буквы «b», а после нее ставится новая строка? Я использую Python 3.3 >>> import subprocess >>> print(subprocess.Popen("echo hi", shell=True, stdout=subprocess.PIPE).communicate()[0]) b'hi\n' Этот дополнительный 'b' не появляется, если я запускаю его с помощью python 2.7

3
Можно ли запустить функцию в подпроцессе без потоковой передачи или написания отдельного файла / скрипта.
import subprocess def my_function(x): return x + 100 output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments print output #desired output: 101 Я нашел только документацию по открытию подпроцессов с использованием отдельных скриптов. Кто-нибудь знает, как передать объекты функции или даже простой способ передать …

7
Команда Python popen. Дождитесь завершения команды
У меня есть сценарий, в котором я запускаю команду popen a shell. Проблема в том, что сценарий не дожидается завершения выполнения этой команды popen и сразу же продолжает работу. om_points = os.popen(command, "w") ..... Как я могу сказать своему скрипту Python дождаться завершения команды оболочки?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.