Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Live-Unterprozessausgabe in Python während der Ausführung anzeigen?

Wie kann ich die Live-Unterprozessausgabe in Python während der Ausführung anzeigen?

Patricia Arquette
Freigeben: 2024-10-30 05:36:27
Original
340 Leute haben es durchsucht

How can I display live subprocess output in Python while it's executing?

Live-Ausgabe von Unterprozessen während der Ausführung anzeigen

Bei der Verwendung von Unterprozessen in Python-Skripten kann es frustrierend sein, auf den Abschluss eines Prozesses zu warten, bevor man auf seine Ausgabe zugreift. Besonders deutlich wird dies bei langwierigen Prozessen. Daher muss eine Möglichkeit gefunden werden, die Ausgabe während ihrer Generierung kontinuierlich anzuzeigen.

Um dies zu erreichen, können Sie die Iter-Funktion verwenden, um Zeilen unmittelbar nach der Ausgabe durch den Befehl zu verarbeiten. Das folgende Codebeispiel zeigt einen häufigen Anwendungsfall:

<code class="python">from __future__ import print_function # Only Python 2.x
import subprocess

def execute(cmd):
    popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True)
    for stdout_line in iter(popen.stdout.readline, ""):
        yield stdout_line 
    popen.stdout.close()
    return_code = popen.wait()
    if return_code:
        raise subprocess.CalledProcessError(return_code, cmd)

# Example
for path in execute(["locate", "a"]):
    print(path, end="")</code>
Nach dem Login kopieren

Mit dieser Methode können Sie die Ausgabe eines Prozesses während der Ausführung effektiv streamen, sodass Sie nicht mehr auf seinen Abschluss warten müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Live-Unterprozessausgabe in Python während der Ausführung anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage