Zugriff auf Echtzeit-Programmausgabe mit Unterprozess
Frage:
Wie können wir erhalten Echtzeit-Programmausgabe mithilfe eines Unterprozesses in Python? Wie können wir konkret den Fortschritt eines Befehlszeilenprogramms anzeigen, ohne die Ausgabe zu puffern?
Antwort:
Um eine Echtzeitausgabe von einem Programm zu erhalten, das mit ausgeführt wird Unterprozess können wir die folgende Technik verwenden:
import subprocess p = subprocess.Popen('svnadmin verify /var/svn/repos/config', stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, bufsize=0) # Set bufsize to 0 for no buffering while True: line = p.stdout.readline() if not line: break print(line.replace('\n', ''))
Erklärung:
Hinweis:
Das obige ist der detaillierte Inhalt vonWie zeige ich die Programmausgabe in Echtzeit mit dem „Unterprozess' von Python an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!