Vorherige Ausgabe für den FTP-Download-Status überschreiben
Im Zusammenhang mit der Entwicklung eines FTP-Downloaders kann es erforderlich sein, den Download-Fortschritt anzuzeigen in einer einzigen Zeile, die regelmäßig aktualisiert wird. Der folgende Codeausschnitt veranschaulicht den ersten Ansatz:
ftp.retrbinary("RETR " + file_name, process) def process(data): print(os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!') file.write(data)
Dieser Ansatz führt jedoch zu mehreren Ausgabezeilen, die den Fortschritt nicht widerspiegeln. Um dieses Problem zu beheben, können wir den End-Parameter in der print()-Funktion nutzen.
print(os.path.getsize(file_name)/1024+'KB / '+size+' KB downloaded!', end='\r')
In Python 3.x können wir mit dem End-Parameter ein Zeichen oder eine Zeichenfolge angeben, die an das Ende angehängt werden soll die gedruckte Zeile. Indem wir es auf „r“, einen Wagenrücklauf, setzen, setzen wir den Cursor an den Anfang der aktuellen Zeile zurück, ohne eine neue Zeile hinzuzufügen. Dadurch wird die vorherige Ausgabe effektiv überschrieben, sodass wir den Fortschritt in einer einzigen Aktualisierungszeile anzeigen können.
Für Python 2.6 können wir das Modul __future__ verwenden, um das Drucken im Python 3-Stil zu ermöglichen:
from __future__ import print_function # Code remains the same as in Python 3.x
Das obige ist der detaillierte Inhalt vonWie überschreibe ich die vorherige Ausgabe für die Echtzeitanzeige des FTP-Download-Fortschritts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!