【Python】tqdmでfor文の進捗を確認

for文の進捗を確認

Pythonでfor文を実行しているときに、
「今どこらへんまで進んでるかな〜?」と思うことはないでしょうか。

数値を出力して進捗確認

進捗状況を確認するひとつの方法として、
実行スクリプトの中にprintで番号を出力する方法があります。

tmp_list = ['A', 'B', 'C', 'D']
for i, j in enumerate(range(len(tmp_list))):
    print(i)

このようにenumerateとprint文を使うことで、 出力された数値から進捗状況を確認することができます。

ただ、これでは処理のボリュームが数千・数万とあると 数値が延々と出直されてしまいます。

まぁちょっと不便ですよね。。。
そんなことをしなくても、もっと便利に進捗状況を確認することができます。

tqdmを使って進捗状況を確認

まずはtqdmをインストール

pip install tqdm
# 処理のテストのためにsleepをインポート
from time import sleep
from tqdm import tqdm
for i in tqdm(range(len(tmp_list))):
    sleep(1)

100%|██████████| 4/4 [00:04<00:00,  1.00s/it]

tmp_listの要素数(4つ)だけ1秒間処理を待つ、スクリプトです。

tqdmを使うと下のサイドバーのように、進捗状況を確認することができます。
処理がすべて終わると100%となりましたね。

これを使うと不必要な出力がなくなり、かつ処理の経過が非常にわかりやすいですね。



ポイント

・tqdmを使ってfor文の進捗状況を把握
・printで数値を出力すると確認がしずらい