Я пытаюсь написать сценарий python (в окнах), который запускает командный файл и выведет в командной строке вывод этого командного файла. В пакетном файле выполняются процессы, к которым у меня нет доступа, и выдает результаты на основе успешности этих процессов. Я хотел бы взять эти сообщения из командного файла и использовать их в скрипте python. У кого-нибудь есть идеи о том, как это сделать?Пассивный вывод файла на скрипт Python
3
A
ответ
1
Попробуйте выполнить подпроцесс.Popen(). Он позволяет перенаправлять файлы stdout и stderr в файлы.
2
Вот питон пример сценария, который запускает файл Test.bat и отображает результат:
import os
fh = os.popen("test.bat")
output = fh.read()
print "This is the output of test.bat:", output
fh.close()
Источник test.bat:
@echo off
echo "This is test.bat"
8
import subprocess
output= subprocess.Popen(
("c:\\bin\\batch.bat", "an_argument", "another_argument"),
stdout=subprocess.PIPE).stdout
for line in output:
# do your work here
output.close()
Обратите внимание, что предпочтительнее, чтобы начать свой пакетный файл с «@echo off
».