FTP ダウンロード ステータスの以前の出力を上書きする
FTP ダウンローダーの開発のコンテキストでは、ダウンロードの進行状況を表示する必要がある場合があります。定期的に更新される 1 行で記述されます。次のコード スニペットは、最初のアプローチを示しています。
ftp.retrbinary("RETR " + file_name, process) def process(data): print(os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!') file.write(data)
ただし、このアプローチでは、進行状況を反映しない複数行の出力が生成されます。この問題に対処するには、print() 関数の end パラメータを利用できます。
print(os.path.getsize(file_name)/1024+'KB / '+size+' KB downloaded!', end='\r')
Python 3.x では、end パラメータを使用して、文字列の末尾に追加する文字または文字列を指定できます。印刷された行。これをキャリッジリターンである「r」に設定すると、改行を追加せずにカーソルを現在の行の先頭に戻します。これにより、前の出力が効果的に上書きされ、進行状況を 1 つの更新行で表示できるようになります。
Python 2.6 の場合、 __future__ モジュールを利用して Python 3 スタイルの印刷を有効にできます。
from __future__ import print_function # Code remains the same as in Python 3.x
以上がリアルタイム FTP ダウンロード進行状況表示用に以前の出力を上書きする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。