Python でコンソール出力をカウンターとプログレスバーに置き換える方法は?

Patricia Arquette
リリース: 2024-11-03 14:51:30
オリジナル
143 人が閲覧しました

How to Replace Console Output with a Counter and Progress Bar in Python?

Python でのコンソール出力の置き換え

Python の多用途な性質により、カスタム コンソール出力を特定のニーズに合わせて調整できます。一般的な手法の 1 つは、その場で更新される動的コンソール カウンターを作成することです。

クエリ: 出力をカウンターに置き換える

コンソール出力を進行状況カウンターに置き換えるには、ループを使用します。各反復の実行後にステータス メッセージを表示するように変更できます。ステータスごとに新しい行が含まれていた以前の出力とは異なり、このカウンターは最後に表示された行のみを更新します。

解決策: 'r' を使用する

1 つの簡単な方法解決策には、新しいステータス メッセージの前に復帰文字「r」を挿入し、改行文字を避けることが含まれます。これにより、文字列が短くならないことが保証され、文字列の長さが一定のままであることが期待される場合に実行可能なアプローチになります。

例:

import sys

for i in range(5):
    sys.stdout.write("\rDoing thing %d" % i)
    sys.stdout.flush()
ログイン後にコピー

拡張ソリューション: Progress Bar

より洗練された進行状況表示のために、進行状況バーを実装できます。次のコードは、単純なプログレス バー関数を提供します。

def start_progress(title):
    sys.stdout.write(title + ": [" + "-" * 40 + "]" + chr(8) * 41)
    sys.stdout.flush()
    progress_x = 0

def progress(x):
    global progress_x
    x = int(x * 40 // 100)
    sys.stdout.write("#" * (x - progress_x))
    sys.stdout.flush()
    progress_x = x

def end_progress():
    sys.stdout.write("#" * (40 - progress_x) + "]\n")
    sys.stdout.flush()
ログイン後にコピー

start_progress 関数は、タイトルの説明を使用してプログレス バーを初期化します。 progress(x) は、完了率 (x) でバーを更新します。最後に、end_progress で進行状況の表示を終了します。

以上がPython でコンソール出力をカウンターとプログレスバーに置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!