Próbuję odczytać z procesu, który generuje długi i czasochłonny wydruk. Jednak chcę złapać jego wyjście , jak i kiedy jest produkowany. Ale używając coś jak poniżej wydaje się być buforowanie wyjścia polecenia, więc w końcu się linie wyjściowe wszystko naraz:Niebuforowany odczyt z procesu przy użyciu podprocesu w Pythonie
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, bufsize=0)
for line in p.stdout:
print line
próbuję to na MacOS 10.5
Duplikat: http://stackoverflow.com/questions/874815/how-do-i-get-real-time-information-back-from -a-subprocess-popen-in-python-2-5, http://stackoverflow.com/questions/527197/intercepting-stdout-a-subprocess-while-it-is-running –