Небуферизованное чтение из процесса с использованием подпроцесса в Python
Я пытаюсь читать из процесса, который производит длительный и трудоемкий вывод. Тем не менее, я хочу поймать это на выходеas and when это производится. Но использование чего-то подобного следующему, похоже, буферизирует выходные данные команды, поэтому я получаю все выходные строки сразу:
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, bufsize=0)
for line in p.stdout:
print line
Я пытаюсь это на MacOS 10.5