[解決済み] 同じ行に前の出力を上書きして出力しますか?
2022-02-17 18:32:35
質問内容
FTPダウンローダーを作成しています。コードの一部は次のようなものです。
ftp.retrbinary("RETR " + file_name, process)
コールバックを処理するために関数processを呼び出しています。
def process(data):
print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!'
file.write(data)
で、出力はこのような感じです。
1784 KB / KB 1829 downloaded!
1788 KB / KB 1829 downloaded!
etc...
しかし、私はこの行を印刷し、次回に再印刷/更新して、一度だけ表示し、そのダウンロードの進捗状況を見るようにしたいのです。
どうすればいいのでしょうか?
どのように解決するのですか?
Python 3.x用のコードです。
print(os.path.getsize(file_name)/1024+'KB / '+size+' KB downloaded!', end='\r')
は
end=
キーワードは、デフォルトではこの作業を行うものです。
print()
は改行で終わります (
\n
)文字に置き換えることができますが、これは別の文字列で置き換えることができます。この場合、キャリッジリターンで行を終えると、代わりにカーソルが現在の行の先頭に戻ります。従って、このような場合は
sys
モジュールは、このような単純な使い方をします。
print()
実際には
いくつかのキーワード引数
を使用することで、コードを大幅に簡略化することができます。
Python 2.6+で同じコードを使うには、次の行をファイルの先頭に記述してください。
from __future__ import print_function
関連
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python string splicing.join()とsplitting.split()の説明
-
python implement mysql add delete check change サンプルコード
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない