Konsolenausgabe in Python ersetzen
In Python kann die Steuerung der Ausgabe an die Konsole eine Herausforderung sein, insbesondere wenn Sie nur eine aktualisieren müssen Teil der angezeigten Informationen. In dieser Frage wird eine Lösung diskutiert, um die aktuelle Konsolenausgabe durch einen prägnanten Fortschrittszähler zu ersetzen.
Ein einfacher Ansatz besteht darin, ein Rückschrittzeichen („r“) zu schreiben, gefolgt von der neuen Zeichenfolge ohne ein Zeilenumbruchzeichen. Dadurch wird nur die aktuellste Zeile in der Konsole aktualisiert. Dies wird im Codeausschnitt unten gezeigt:
<code class="python">sys.stdout.write("\rDoing thing %i" % i) sys.stdout.flush()</code>
Für einen komplexeren Fortschrittsbalken können Sie jedoch eine benutzerdefinierte Funktion implementieren, um den Fortschritt zu verfolgen und einen dynamischen Balken basierend auf dem Fortschrittsprozentsatz anzuzeigen. Hier ist ein Beispiel:
<code class="python">def progress(title): global progress_x sys.stdout.write(title + ": [&" + "-" * 40 + "]") + chr(8) * 41 sys.stdout.flush() progress_x = 0 def progress(x): global progress_x progress_x = int(x * 40 // 100) sys.stdout.write("#" * (progress_x - progress_x)) sys.stdout.flush() def stop_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
Um diese Funktion zu verwenden, rufen Sie start_progress mit der Vorgangsbeschreibung, progress mit dem Prozentsatz und schließlich stop_progress auf, um den vollständigen Fortschrittsbalken in der Konsole anzuzeigen.
Das obige ist der detaillierte Inhalt vonWie ersetze ich die Konsolenausgabe in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!