subprocess- все статьи тега


Убить запущенный вызов подпроцесса

Я запускаю программу с subprocess на Python. В некоторых случаях программа может зависнуть. Это выходит из-под моего контроля. Единственное, что я могу сделать из командной строки, из которой он запускается, - это CtrlEsc , который быстро убивает программу. Есть ли способ эмулировать это с subprocess? Я использую subprocess.Popen(cmd, shell=True) для запуска программы. ...

Проводник не показывает папку, если она запущена с пути dirname расположения файла

С Python 3.4.2 на Windows я хочу открыть Проводник с папкой текущего запущенного скрипта следующим образом: import os, subprocess subprocess.check_call(['explorer', os.path.dirname(__file__)]) Вместо этого я вижу, что проводник открывается с папкой по умолчанию "C:UsersXXDocuments" и выбрасывается Ошибка: Traceback (most recent call last): File "C:/XXX/YYY.py", line 9, in <module> subprocess.check_call(['explorer', os.path.dirname(__file__)]) File "C:Python34libsubproce ...

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

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

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

Я хочу написать функцию, которая будет выполнять команду shell и возвращает ее выход в строке, независимо от того, это сообщение об ошибке или успехе. Я просто хочу получить тот же результат, что и в командной строке. что было бы примером кода, который сделал бы такую вещь? например: def run_command(cmd): # ?????? print run_command('mysqladmin create test -uroot -pmysqladmin12') # Should output something like: # mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; da ...

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

вот код Python для запуска произвольной команды, возвращающей его stdout данные, или вызвать исключение для ненулевых кодов выхода: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=subprocess.PIPE, shell=True) communicate используется для ожидания завершения процесса: stdoutdata, stderrdata = proc.communicate() The subprocess модуль не поддерживает тайм-аут-возможность убить процесс, выполняемый на более чем X секунд, поэтому communi ...

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

Если я сделаю следующее: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('onentwonthreenfournfivensixn')).communicate()[0] Я: Traceback (most recent call last): File "<stdin>", line 1, in ? File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__ (p2cread, p2cwrite, File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles ...

Хранить выходные данные подпроцесса.Вызов Popen в строке

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

Получение выходных данных подпроцесса.звоните() [дубликат]

этот вопрос уже есть ответ здесь: хранить выходные данные подпроцесса.Вызов Popen в строке 9 ответов как я могу получить результат запуска процесса с помощью subprocess.call()? передает StringIO.StringIO объект stdout выдает ошибку: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py" ...

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

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

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

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

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

мне нужно запустить команду асинхронно из скрипта Python. Под этим я подразумеваю, что я хочу, чтобы мой скрипт Python продолжал работать, пока внешняя команда выключается и делает все, что ей нужно. Я прочитал этот пост: вызов внешней команды в Python затем я пошел и сделал некоторые испытания, и это выглядит как os.system() будет делать эту работу при условии, что я использую & в конце команды, так что я не придется ждать его возвращения. Что я интересно, если это правильный спосо ...

Python: как перенаправить вывод с помощью подпроцесса?

что я делаю в командной строке: cat file1 file2 file3 > myfile что я хочу сделать с python: import subprocess, shlex my_cmd = 'cat file1 file2 file3 > myfile' args = shlex.split(my_cmd) subprocess.call(args) # spits the output in the window i call my python program ...

Python: чтение потокового ввода из подпроцесса.взаимодействовать()

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