Pythonで既存の出力を新しい出力で置き換えて進行状況を表示する方法
日本語訳
コードが実行される時、進行状況を知りたいなら、print()
関数を使うと以下のように表示される。
for i in range(1,6):
print(f"진행 경과[{i}/5]")
この時、文字列の前に\r
を追加して、print()
のオプションでend=""
を指定するといい。\r
はカーソルを最初に移動させることだし、end=""
はprint()
のデフォルトオプションの改行を無くすことだ。
for i in range(1,6):
print(f"\r진행 경과[{i}/5]", end="")
複数行で進行状況を表示したい場合は、reprint
ライブラリを利用すると簡単に実現できる。下の例のコードのようにwith文の中でoutput_lines[i]に応じて結果が表示される。
インストール
cmdウインドウで以下のコマンドラインでインストールする。
>>>pip install reprint
コード
from reprint import output
with output(initial_len=3, interval=0) as output_lines:
for i in range(1,6):
output_lines[0] = f"진행 경과[{i}/5]"
for j in range(10):
output_lines[1] = f"j = {j}"
output_lines[2] = f"j^2 = {j**2}"
環境
- OS: Windows11
- Version: Python v3.9.13, reprint==0.6.0