Во время выполнения процесса я хотел бы прочитать его стандартный вывод и записать его в файл. Однако любая моя попытка не удалась, потому что, что бы я ни пытался, как только я пытался читать из стандартного вывода, он блокировался до завершения процесса.
Вот фрагмент того, что я пытаюсь сделать. (Первая часть - это просто сценарий python, который что-то записывает в stdout.)
import subprocess
p = subprocess.Popen('python -c \'\
from time import sleep\n\
for i in range(3):\n\
sleep(1)\n\
print "Hello", i\
\'', shell = True, stdout = subprocess.PIPE)
while p.poll() == None:
#read the stdout continuously
pass
print "Done"
Я знаю, что существует несколько вопросов, касающихся одной и той же темы. Однако ни один из найденных мной не смог ответить на мой вопрос.