Получение вывода процесса во время выполнения
Я использую скрипт 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)
Вышеприведенный код работает нормально, но он сначала завершает процесс и сохраняет результат врезультат переменная. После этогодля цикла сохраняет вывод, а также распечатывает его.
Но я хочу вывод во время выполнения (так как мой процесс может занять несколько часов, я неза все эти часы ничего не получилось).
Так есть ли какая-либо другая функция, которая дает мне вывод динамически (во время выполнения), значит, как только процесс выдаст первую строку, он должен быть напечатан.