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