ごはんと飲み物は紙一重

あんまり更新できてないです

tqdmをwhile文でも使ってみる

更新おそいぞ

すまん

ほんへ

tqdmという進捗(プログレス)管理モジュールがあって、特にfor文などの複数回処理を実行するようなスクリプトにおいて、1回あたりの処理時間や全体のうちどれだけ進んだかを可視化する便利なものがあるわけです。

使い方はいたってシンプルで

for i in tqdm(range(100)):

イテレータを囲むことで。

f:id:ST_ha1cyon:20181026193710g:plain

ねっ。簡単でしょ。enumerate関数のようなものや内包表記でも対応してます。

for i in enumerate(tqdm(range(100)):

ところでこのtqdm, while文などを使用してるときにも使いたくなる展開がちらほらあったりして、bs4を使ったクローリングなどでも何個クローリングしたか気になりません?(私は気になった)

ので、while文でマニュアルtqdmしてしまおうって感じです。

n = 0
with tqdm() as pbar:
    while n < 100:
        time.sleep(0.05)
        pbar.update(1)
        n += 1

whileの条件がしっかり指定できればもっとシンプルにスマートにかけるかと思うので、ぜひwithでtqdmをくくってpbar.update()して、有意義なtqdmライフを送りましょ。