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

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

909
Выполнение команды оболочки и захват вывода

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

507
Неблокирующее чтение на подпроцесс. PIPE в Python

Я использую модуль подпроцесса, чтобы запустить подпроцесс и подключиться к его выходному потоку (stdout). Я хочу иметь возможность выполнять неблокирующие чтения на своем стандартном выводе. Есть ли способ сделать .readline неблокирующим или проверить, есть ли данные в потоке, прежде чем я вызову...

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

На этот вопрос есть ответы на Stack Overflow на русском : Прерывание процесса и задержка на исполнение Вот код Python для запуска произвольной команды, возвращающей свои stdoutданные, или для создания исключения для ненулевых кодов выхода: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, #...

308
Как завершить подпроцесс python, запущенный с shell = True

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

300
Сохранить выходные данные подпроцесса. Открыть вызов в строке

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

286
Подпроцесс 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) У меня есть чувство, что есть лучший...

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

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

260
Фактическое значение 'shell = True' в подпроцессе

Я называю разные процессы с subprocessмодулем. Однако у меня есть вопрос. В следующих кодах: callProcess = subprocess.Popen(['ls', '-l'], shell=True) и callProcess = subprocess.Popen(['ls', '-l']) # without shell Оба работают. Прочитав документы, я узнал, что это shell=Trueозначает выполнение кода...

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

Мой скрипт на python использует подпроцесс для вызова очень шумной утилиты linux. Я хочу сохранить весь вывод в файл журнала и показать некоторые из них пользователю. Я думал, что следующее будет работать, но вывод не будет отображаться в моем приложении, пока утилита не выдаст значительный объем...

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

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

186
оперативный вывод команды подпроцесса

Я использую скрипт Python в качестве драйвера для гидродинамического кода. Когда приходит время запустить симуляцию, я использую subprocess.Popenкод для запуска, собираю выходные данные из stdout и stderr в subprocess.PIPE---, затем могу распечатать (и сохранить в лог-файл) выходную информацию и...

178
В чем разница между подпроцессом Popen и call (как я могу их использовать)?

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

137
OSError: [Errno 2] Нет такого файла или каталога при использовании подпроцесса python в Django

Я пытаюсь запустить программу, чтобы сделать некоторые системные вызовы внутри кода Python, используя subprocess.call()который выдает следующую ошибку: Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.7/subprocess.py", line 493, in call...

135
Получение вывода в реальном времени с использованием подпроцесса

Я пытаюсь написать сценарий оболочки для программы командной строки (svnadmin verify), которая будет отображать хороший индикатор выполнения операции. Это требует, чтобы я мог видеть каждую строку вывода завернутой программы, как только она выводится. Я решил, что просто выполню программу,...

120
Как я могу асинхронно запустить внешнюю команду из Python?

Мне нужно запустить команду оболочки асинхронно из сценария Python. Под этим я подразумеваю, что я хочу, чтобы мой скрипт Python продолжал работать, пока внешняя команда отключается и делает все, что ей нужно. Я прочитал этот пост: Вызов внешней команды в Python Затем я ушел и провел некоторое...