Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überschreibe ich die Konsolenausgabe in Python?

Wie überschreibe ich die Konsolenausgabe in Python?

Barbara Streisand
Barbara StreisandOriginal
2024-11-02 22:08:30741Durchsuche

How to Overwrite Console Output in Python?

Konsolenausgabe in Python überschreiben

Bei der Programmierung ist es oft wünschenswert, den Benutzern Fortschrittsinformationen anzuzeigen, während zeitaufwändige Aufgaben ausgeführt werden. Eine beliebte Technik besteht darin, einen Fortschrittsbalken oder Zähler in der Konsole zu aktualisieren. In diesem Artikel wird erläutert, wie Sie dies in Python erreichen.

Konsolenausgabe ersetzen

Ein einfacher Ansatz zum Ersetzen der Konsolenausgabe ist die Verwendung der Escape-Sequenz „r“, die zurückkehrt den Cursor an den Anfang der aktuellen Zeile. Indem Sie „r“ vor die aktualisierte Zeichenfolge schreiben und eine neue Zeile weglassen, können Sie die vorherige Ausgabe effektiv überschreiben.

<code class="python">import sys

for i in range(10):
    sys.stdout.write("\rDoing thing %i" % i)
    sys.stdout.flush()</code>

Dadurch wird die Konsole kontinuierlich mit der neuesten Iteration in der Schleife überschrieben.

Fortschrittsbalken

Für eine erweiterte Fortschrittsanzeige können Sie die folgende Funktion verwenden:

<code class="python">def start_progress(title):
    sys.stdout.write(title + ": [" + "-" * 40 + "]")
    sys.stdout.flush()

def progress(x):
    x = int(x * 40 // 100)
    sys.stdout.write("#" * (x - progress_x))
    sys.stdout.flush()

def end_progress():
    sys.stdout.write("#" * (40 - progress_x) + "]\n")
    sys.stdout.flush()</code>

Diese Funktion verwendet einen Titel als Eingabe und zeigt einen Fortschrittsbalken an in der Konsole. Die Fortschrittsfunktion aktualisiert den Fortschrittsprozentsatz, während die Funktion end_progress den Fortschrittsbalken vervollständigt.

Aufrufsequenz

Um den Fortschrittsbalken zu verwenden, rufen Sie dann start_progress auf, um ihn zu initialisieren Rufen Sie den Fortschritt mehrmals auf, um den Prozentsatz zu aktualisieren. Rufen Sie abschließend end_progress auf, um den Fortschrittsbalken zu vervollständigen.

<code class="python">start_progress("My Long Task")
progress(50)
progress(75)
end_progress()</code>

Das obige ist der detaillierte Inhalt vonWie überschreibe ich die Konsolenausgabe 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