logo

Pythonで既存の出力を新しい出力で置き換えて進行状況を表示する方法 📂プログラミング

Pythonで既存の出力を新しい出力で置き換えて進行状況を表示する方法

日本語訳

コードが実行される時、進行状況を知りたいなら、print()関数を使うと以下のように表示される。

for i in range(1,6):
    print(f"진행 경과[{i}/5]")

3507_one_line_1.webp

この時、文字列の前に\rを追加して、print()のオプションでend=""を指定するといい。\rはカーソルを最初に移動させることだし、end=""print()のデフォルトオプションの改行を無くすことだ。

for i in range(1,6):
    print(f"\r진행 경과[{i}/5]", end="")

3507_one_line_2.webp

複数行で進行状況を表示したい場合は、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}"

3507_multilines.webp

環境

  • OS: Windows11
  • Version: Python v3.9.13, reprint==0.6.0