Python でコンソール出力を上書きする方法?

Barbara Streisand
リリース: 2024-11-02 22:08:30
オリジナル
816 人が閲覧しました

How to Overwrite Console Output in Python?

Python でのコンソール出力のオーバーライド

プログラミングでは、時間のかかるタスクの実行中に進捗情報をユーザーに表示することが望ましいことがよくあります。よく使用される手法の 1 つは、コンソールの進行状況バーまたはカウンターを更新することです。この記事では、Python でこれを実現する方法について説明します。

コンソール出力の置換

コンソール出力を置換する簡単な方法は、「r」エスケープ シーケンスを使用することです。カーソルを現在の行の先頭に移動します。更新された文字列の前に「r」を書き、改行を省略すると、前の出力を効果的に上書きできます。

<code class="python">import sys

for i in range(10):
    sys.stdout.write("\rDoing thing %i" % i)
    sys.stdout.flush()</code>
ログイン後にコピー

これにより、ループ内の最新の反復でコンソールが継続的に上書きされます。

進行状況バー

より高度な進行状況インジケーターについては、次の関数を使用できます:

<code class="python">def start_progress(title):
    sys.stdout.write(title + ": [" + "-" * 40 + "]")
    sys.stdout.flush()

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

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

この関数はタイトルを入力として受け取り、進行状況バーを表示します。コンソールで。 progress 関数は進行状況のパーセンテージを更新し、end_progress 関数はプログレス バーを完成させます。

Call Sequence

プログレス バーを使用するには、start_progress を呼び出して初期化してから、進行状況を複数回呼び出してパーセンテージを更新します。最後に、end_progress を呼び出して進行状況バーを完成させます。

<code class="python">start_progress("My Long Task")
progress(50)
progress(75)
end_progress()</code>
ログイン後にコピー

以上がPython でコンソール出力を上書きする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート