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!