Tag: подпроцесс

Как получить итоговую командную строку подпроцесса

У меня есть вызовы подпроцессов Python, которые отформатированы как последовательность аргументов (например, subprocess.Popen(['ls','-l']) вместо одной строки (т. subprocess.Popen('ls -l') ). При использовании последовательных аргументов, подобных мне, есть способ получить полученную строку, отправленную в оболочку (для целей отладки)? Один простой подход состоял бы в том, чтобы объединить все аргументы вместе. Но я сомневаюсь, что во всех […]

subprocess.Popen и shlex.split форматирование в windows и linux

Я пишу обертку, чтобы автоматизировать некоторые команды оболочки ADB через Python (2.7.2). Поскольку в некоторых случаях мне нужно выполнить команду асинхронно, я использую метод подпроцесса .Popen для выдачи команд оболочки. У меня возникла проблема с форматированием параметра [command, args] метода Popen , где требуется, чтобы команда / args split различалась между Windows и Linux: # […]

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

Я использую скрипт python для запуска процесса с помощью subprocess.Popen и одновременно сохраняю вывод в текстовом файле, а также распечатываю его на консоли. Это мой код: result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) for line in result.stdout.readlines(): #read and store result in log file openfile.write("%s\n" %line) print("%s" %line) Над кодом работает отлично, но то, что он делает, […]

Модуль подпроцесса Python, как я могу ввести первый ряд команд с каналами?

Я пытаюсь использовать модуль подпроцесса Python. Мне нужно отправить вход в первый процесс, выход которого станет входом второго процесса. Ситуация в основном почти такая же, как пример, приведенный в документации: http://docs.python.org/library/subprocess.html#replacing-shell-pipeline, за исключением того, что мне нужно предоставить ввод первой команды. Вот пример копирования: p1 = Popen(["dmesg"], stdout=PIPE) p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE) p1.stdout.close() […]

обработка непрерывного вывода команды в python

Я новичок в python, использующий perl в течение многих лет. Типичная вещь, которую я делаю все время: perl открывает команду в качестве канала и назначает свой вывод локальной переменной для обработки. Другими словами: "open CMD, "$command|"; $output=<CMD>; кусок торта. Я думаю, что я могу сделать что-то подобное в python таким образом: args=[command, args…] process=subprocess.Popen(args, stdout=subprocess.PIPE) […]

замена подпроцесса popen2 на Python

Я попытался запустить этот код из книги «Стандартная библиотека Python» из «Fred Lunde». import popen2, string fin, fout = popen2.popen2("sort") fout.write("foo\n") fout.write("bar\n") fout.close() print fin.readline(), print fin.readline(), fin.close() Он хорошо работает с предупреждением ~ / Python_standard_library_oreilly_lunde / скрипты / popen2-example-1.py: 1: Устаревшее предупреждение: модуль popen2 устарел. Используйте модуль подпроцесса. Как перевести предыдущую функцию с подпроцессом? […]

Подпроцесс python communication () дает None, когда ожидается список чисел

Когда я запускаю следующий код from subprocess import call, check_output, Popen, PIPE gr = Popen(["grep", "'^>'", myfile], stdout=PIPE) sd = Popen(["sed", "s/.*len=//"], stdin=gr.stdout) gr.stdout.close() out = sd.communicate()[0] print out Где myfile выглядит так: >name len=345 sometexthere >name2 len=4523 someothertexthere … … я получил None Когда ожидаемый вывод представляет собой список чисел: 345 4523 … … […]

Подпроцесс Python с аргументами, имеющими несколько котировок

Я использую следующую команду в bash для выполнения сценария Python. python myfile.py -c "'USA'" -g "'CA'" -0 "'2011-10-13'" -1 "'2011-10-27'" Я пишу сценарий Python, чтобы обернуть это. В настоящее время мне приходится использовать os.system (я знаю, это дерьмово), так как я не могу понять, как заставить кавычки работать с subprocess.Popen. Внутренние одинарные кавычки должны поддерживаться […]

Python, используя subprocess.Popen для вызова командной строки linux? Я получаю " Нет такого файла или каталога"

Я пытаюсь следить за информацией, которую я могу найти о subprocess.Popen, поскольку я хочу сделать вызов командной строки linux. Я пытаюсь как ниже, но получаю ошибку «[Errno 2] Нет такого файла или каталога». Я не пытаюсь открыть файл, поэтому я не понимаю эту ошибку, и она отлично работает (хотя с другими проблемами, связанными с ожиданием […]

Использование python с подпроцессом Popen

Я пытаюсь использовать подпроцессы с python. Вот моя задача: Запустите api через командную строку (это ничем не отличается от запуска любого аргумента в командной строке) Убедитесь, что мой API появился. Самый простой способ сделать это – опросить стандарт. Выполните команду против API. Командная строка появляется, когда я могу запустить новую команду Убедитесь, что команда завершена […]

Python - лучший язык программирования в мире.