Ersetzen der Konsolenausgabe in Python
Die Vielseitigkeit von Python ermöglicht die Anpassung der benutzerdefinierten Konsolenausgabe an spezifische Anforderungen. Eine gängige Technik ist das Erstellen dynamischer Konsolenzähler, die an Ort und Stelle aktualisiert werden.
Abfrage: Ausgabe durch einen Zähler ersetzen
Um die Konsolenausgabe durch einen Fortschrittszähler zu ersetzen, kann eine Schleife ausgeführt werden kann so geändert werden, dass nach der Durchführung jeder Iteration eine Statusmeldung angezeigt wird. Im Gegensatz zur vorherigen Ausgabe, die für jeden Status eine neue Zeile enthielt, aktualisierte dieser Zähler nur die zuletzt angezeigte Zeile.
Lösung: Verwendung von „r“
Eine einfache Die Lösung besteht darin, vor der neuen Statusmeldung ein Wagenrücklaufzeichen „r“ einzufügen und jegliche Zeilenumbrüche zu vermeiden. Dadurch wird sichergestellt, dass die Zeichenfolge nicht kürzer wird, was es zu einem praktikablen Ansatz macht, wenn erwartet wird, dass die Länge der Zeichenfolge konstant bleibt.
Zum Beispiel:
import sys for i in range(5): sys.stdout.write("\rDoing thing %d" % i) sys.stdout.flush()
Erweiterte Lösung : Fortschrittsbalken
Für anspruchsvollere Fortschrittsanzeigen kann ein Fortschrittsbalken implementiert werden. Der folgende Code stellt eine einfache Fortschrittsbalkenfunktion bereit:
def start_progress(title): sys.stdout.write(title + ": [" + "-" * 40 + "]" + chr(8) * 41) sys.stdout.flush() progress_x = 0 def progress(x): global progress_x x = int(x * 40 // 100) sys.stdout.write("#" * (x - progress_x)) sys.stdout.flush() progress_x = x def end_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()
Die start_progress-Funktion initialisiert den Fortschrittsbalken mit einer Titelbeschreibung. progress(x) aktualisiert den Balken mit dem Prozentsatz der Fertigstellung (x). Abschließend beendet end_progress die Fortschrittsanzeige.
Das obige ist der detaillierte Inhalt vonWie ersetze ich die Konsolenausgabe durch einen Zähler und eine Fortschrittsleiste in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!