Вопросы с тегом 'subprocess'

Модуль подпроцесса Python позволяет создавать новые процессы, подключаться к их каналам ввода/вывода/ошибок и получать коды возврата. Используйте его для запуска команды оболочки или исполняемого файла в Python.
57 отв.

Вызов внешней команды в Python

Как я могу вызвать внешнюю команду (как если бы я набрал ее в оболочке Unix или командной строке Windows) из скрипта Python?
18 сент. '08 в 4:35
18 отв.

Запуск команды оболочки и захват вывода

Я хочу написать функцию, которая выполнит команду оболочки и вернет ее вывод в виде строки, независимо от того, является ли это сообщение об ошибке или успехе. Я просто хочу получить тот же результат, что и в командной строке. Каким будет пример к...
21 янв. '11 в 17:55
27 отв.

Неблокирование чтения на подпроцессе .PIPE в python

Я использую модуль подпроцесса для запуска подпроцесса и подключения к нему выходного потока (stdout). Я хочу, чтобы иметь возможность выполнять неблокирующие чтения на его stdout. Есть ли способ сделать .readline non-blocking или проверить, есть ли...
17 дек. '08 в 20:56
27 отв.

Использование подпроцесса модуля с тайм-аутом

Здесь код Python для запуска произвольной команды, возвращающей свои данные stdout, или вызывает исключение при ненулевых кодах выхода: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=subprocess...
28 июля '09 в 3:41
6 отв.

Как скрыть вывод подпроцесса в Python 2.7

Я использую eSpeak на Ubuntu и имею Python 2.7 script, который печатает и говорит сообщение: import subprocess text = 'Hello World.' print text subprocess.call(['espeak', text]) eSpeak производит нужные звуки, но загромождает оболочку с некоторым...
30 июня '12 в 1:08
10 отв.

Python - Как передать строку в subprocess.Popen(используя аргумент stdin)?

Если я делаю следующее: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Я получаю: Traceback (most recent call last): F...
02 окт. '08 в 20:25
7 отв.

Получение вывода subprocess.call()

Как я могу получить выходные данные процесса, запущенного с использованием subprocess.call()? Передача объекта StringIO.StringIO в stdout дает StringIO.StringIO ошибку: Traceback (most recent call last): File "<stdin>", line 1, in <modul...
04 янв. '10 в 1:07
7 отв.

Как завершить подпроцесс python, запущенный с помощью оболочки = True

Я запускаю подпроцесс со следующей командой: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) Однако, когда я пытаюсь убить, используя: p.terminate() или p.kill() Команда продолжает работать в фоновом режиме, поэтому мне было ин...
25 янв. '11 в 6:58
9 отв.

Сохранять вывод подпроцесса. Вызов вызова в строке

Я пытаюсь сделать системный вызов в Python и сохранить вывод в строке, которую я могу манипулировать в программе Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p") Я пробовал несколько вещей, включая некоторые из предложе...
23 марта '10 в 22:05
9 отв.

Подпроцесс Python/Popen с измененной средой

Я считаю, что запуск внешней команды со слегка измененной средой - очень распространенный случай. Вот как я это делаю: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my...
09 февр. '10 в 20:55
1 отв.

Как я могу указать рабочий каталог для popen

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

читать подпроцесс stdout по очереди

Мой python script использует подпроцесс для вызова утилиты linux, которая очень шумная. Я хочу сохранить весь вывод в файл журнала и показать его пользователю. Я думал, что следующее будет работать, но вывод не появляется в моем приложении, пока ути...
10 мая '10 в 19:47
5 отв.

Как получить код выхода при использовании метода передачи подпроцессов Python?

Как получить код выхода при использовании модуля Python subprocess и метода communicate()? Соответствующий код: import subprocess as sp data = sp.Popen(openRTSP + opts.split(), stdout=sp.PIPE).communicate()[0] Должен ли я делать это по-другому?
12 апр. '11 в 10:11
12 отв.

Постоянно печатать вывод Subprocess во время процесса

Чтобы запускать программы из моих сценариев Python, я использую следующий метод: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] ex...
11 дек. '10 в 19:03
16 отв.

живой вывод из команды подпроцесса

Я использую python script в качестве драйвера для кода гидродинамики. Когда придет время для запуска моделирования, я использую subprocess.Popen для запуска кода, собираю вывод из stdout и stderr в subprocess.PIPE ---, тогда я могу распечатать (и со...
24 авг. '13 в 21:27