Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich eine Echtzeitausgabe von einem Unterprozess in Python?

Wie erhalte ich eine Echtzeitausgabe von einem Unterprozess in Python?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-15 13:46:02843Durchsuche

How to Get Realtime Output from a Subprocess in Python?

Echtzeitausgabe vom Unterprozess

Beim Ausführen von Befehlszeilenprogrammen mit dem Unterprozessmodul von Python stoßen Entwickler häufig auf das Problem der gepufferten Ausgabe. Dies kann bei Aufgaben problematisch sein, die eine zeilenweise Verarbeitung erfordern.

Um dieses Problem zu beheben, können Benutzer den folgenden Ansatz in Betracht ziehen:

  • Verwenden Sie p.stdout.readline() innerhalb einer while-Schleife, um jede Ausgabezeile zu lesen, sobald sie verfügbar ist. Zum Beispiel:
while True:
    line = p.stdout.readline()
    if not line: break  # No more output, exit loop

    # Process the current line as needed...

Diese Methode ermöglicht eine Ausgabeverarbeitung in Echtzeit, ohne dass Pufferprobleme auftreten. Trotz anfänglicher Versuche mit „for line“ in „p.stdout:“ und „bufsize“-Einstellungen hat sich gezeigt, dass dieser Ansatz die Ausgabe effektiv und zeitnah erfasst.

Das obige ist der detaillierte Inhalt vonWie erhalte ich eine Echtzeitausgabe von einem Unterprozess in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn