Heim > Backend-Entwicklung > Python-Tutorial > Wie überschreibe ich die vorherige Druckausgabe für eine dynamische FTP-Downloader-Fortschrittsanzeige?

Wie überschreibe ich die vorherige Druckausgabe für eine dynamische FTP-Downloader-Fortschrittsanzeige?

DDD
Freigeben: 2024-11-15 11:52:02
Original
682 Leute haben es durchsucht

How to Overwrite Previous Print Output for a Dynamic FTP Downloader Progress Display?

Vorherige Druckausgabe überschreiben: Fortschrittsanzeige des FTP-Downloaders verbessern

Beim Erstellen eines FTP-Downloaders ist es wünschenswert, eine Fortschrittsanzeige zu haben Das wird ständig aktualisiert und überschreibt die vorherige Ausgabe in derselben Zeile. Stellen Sie sich ein Szenario vor, in dem Sie eine Datei herunterladen und deren Fortschritt in Echtzeit überwachen möchten, ohne dass mehrere Druckzeilen überladen werden.

Der ursprüngliche Code für die Verarbeitung der Fortschrittsanzeige basierte auf der folgenden Struktur:

print(os.path.getsize(file_name) / 1024, 'KB / ', size, 'KB downloaded!')
Nach dem Login kopieren

Dies würde jedes Mal, wenn der Fortschritt aktualisiert wird, eine neue Zeile ausgeben. Um den gewünschten Effekt des Überschreibens der vorherigen Zeile zu erzielen, kann das Schlüsselwort end verwendet werden. Hier ist der überarbeitete Code:

print(os.path.getsize(file_name) / 1024, 'KB / ', size, 'KB downloaded!', end='\r')
Nach dem Login kopieren

Der entscheidende Unterschied besteht hier in der Hinzufügung von end='r' am Ende der print-Anweisung. Standardmäßig fügt die Funktion print() am Ende ihrer Ausgabe ein Zeilenumbruchzeichen (n) hinzu. Wenn Sie jedoch end='r' verwenden, wird diese neue Zeile stattdessen durch einen Wagenrücklauf (r) ersetzt.

Wenn ein Wagenrücklauf verwendet wird, kehrt der Cursor zum Anfang der aktuellen Zeile zurück, ohne eine neue zu erstellen. Dadurch können nachfolgende Fortschrittsaktualisierungen die vorherige Zeile überschreiben und so effektiv eine dynamische Fortschrittsanzeige erstellen.

Beachten Sie, dass dieser Ansatz mit Python 3.x kompatibel ist. Für Python 2.6 müssen Sie möglicherweise die Zeile aus __future__ import print_function am Anfang der Datei einfügen, um die erweiterte print()-Funktion mit Schlüsselwortargumenten zu verwenden.

Durch die Einbindung dieser einfachen Änderung können Sie eine optimierte erstellen Fortschrittsanzeige, die Benutzer auf dem Laufenden hält, ohne sie mit mehreren Ausgabezeilen zu überfordern.

Das obige ist der detaillierte Inhalt vonWie überschreibe ich die vorherige Druckausgabe für eine dynamische FTP-Downloader-Fortschrittsanzeige?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage