Python-Fortschrittsbalken über das Protokollierungsmodul

Ich habe verschiedene Lösungen für einen Fortschrittsbalken in Python gesehen, aber die einfachen Standardlösungen funktionieren für mein Projekt nicht. Ich habe mehrere Klassen und benutze das "Logging" -Modul, um Informationen an STDOUT auszugeben. Ich habe eine Funktion, von der ich einen Fortschrittsbalken in einer Zeile anzeigen möchte, wobei der Puffer jedes Mal geleert wird.

Beispiel für den einfachen Fortschritt:

for i in range(100):
    time.sleep(1)
    sys.stdout.write("\r%d%%" %i)
    sys.stdout.flush()

Wenn ich versuche, über STDOUT zu schreiben und dann den Puffer zu leeren, wird entweder der Puffer nicht geleert oder der Fortschritt geht nirgendwo hin. Ich hoffe, dass ich ein Threading oder einen komplizierten Prozess vermeiden kann, um dies zu ermöglichen. Hat jemand eine bevorzugte Methode, um dies zu erreichen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage