Ich habe einige Befehle, die ich mit dem Subprozess-Modul laufen. Ich möchte dann die Zeilen der Ausgabe durchlaufen. Die Dokumentation sagt, dass man data_stream.stdout.read nicht tut, was ich nicht bin, aber ich kann etwas tun, was das anruft. Ich Looping über die Ausgabe wie folgt aus:Python Subprozess-Modul: Schleife über stdout von Kind-Prozess
for line in data_stream.stdout:
#do stuff here
.
.
.
kann dies zu Deadlocks wie aus data_stream.stdout lesen oder sind die Popen Module für diese Art von looping so eingerichtet, dass sie den Code kommuniziert aber alle callings Griffe davon für dich?
Fast richtig, aber, wie die Dokumentation über 'kommunizieren 'sagt," Die gelesenen Daten werden im Speicher zwischengespeichert, also verwenden Sie diese Methode nicht, wenn die Datengröße groß oder unbegrenzt ist. " –
Also, wenn ich nie mit Stderr oder Stdin als Schleifen in dieser Mode ist in Ordnung. – Matt