ホームページ >バックエンド開発 >Python チュートリアル >リアルタイム FTP ダウンロード進行状況表示用に以前の出力を上書きする方法

リアルタイム FTP ダウンロード進行状況表示用に以前の出力を上書きする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-17 05:25:03401ブラウズ

How to Overwrite Previous Output for Real-Time FTP Download Progress Display?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。