Python でコンソール出力を置き換える
Python では、特にコンソールへの出力を制御するのが難しい場合があります。表示される情報の一部。この質問では、現在のコンソール出力を簡潔な進行状況カウンターに置き換える解決策について説明します。
簡単なアプローチには、バックスペース文字 (「r」) の後に改行文字を含まない新しい文字列を記述することが含まれます。こうすることで、コンソール内の最新の行のみが更新されます。これを以下のコード スニペットに示します。
<code class="python">sys.stdout.write("\rDoing thing %i" % i) sys.stdout.flush()</code>
ただし、より洗練された進行状況バーの場合、進行状況を追跡し、進行状況のパーセンテージに基づいて動的なバーを表示するカスタム関数を実装できます。以下に例を示します。
<code class="python">def progress(title): global progress_x sys.stdout.write(title + ": [&" + "-" * 40 + "]") + chr(8) * 41 sys.stdout.flush() progress_x = 0 def progress(x): global progress_x progress_x = int(x * 40 // 100) sys.stdout.write("#" * (progress_x - progress_x)) sys.stdout.flush() def stop_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
この関数を使用するには、操作の説明を指定して start_progress を呼び出し、パーセンテージを指定して progress を呼び出し、最後に stop_progress を呼び出してコンソールに完全な進行状況バーを表示します。
以上がPython でコンソール出力を置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。