【Python】プログラム実行時の進捗表示【学習Log】

tqdmによるプログレスバーの表示方法おぼえがき。

tqdmインストール

いつもの如くpipから。コンソールで以下を実行。

pip install tqdm

使い方

インポート

from tqdm import tqdm

まずは簡単に

for i in tqdm(range(1000000)):
    pass

実行すると下記のようにプログレスバーが表示される。 もちろんパーセンテージなどの各パラメータは実行中に推移する。

100%|█████████████████████████████████████| 1000000/1000000 [00:00<00:00, 1940405.11it/s]

イテレータで実行

L = [1 for _ in range(1000000)]
for i, v in enumerate(tqdm(L)):
    pass

enumerateを利用する場合は、tqdmを内部へ。 実行結果は省略。

追加で情報を表示する

M = [i % 10 for i in range(10000)]
with tqdm(M) as progress:
    for i, v in enumerate(progress):
        progress.set_description("roop: %d"%(i))
        progress.set_postfix(value=v)

表示したい情報はset_description()、もしくはset_postfix()に記述するとよい。 set_description()ではプログレスバーの前に、set_postfix()ではプログレスバーの後に表示される。

roop: 9999: 100%|█████████████████████████████████████| 10000/10000 [00:06<00:00, 1470.42it/s, value=9]