Wie ersetze ich die Konsolenausgabe durch einen Zähler und eine Fortschrittsleiste in Python?

Patricia Arquette
Freigeben: 2024-11-03 14:51:30
Original
143 Leute haben es durchsucht

How to Replace Console Output with a Counter and Progress Bar in Python?

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!