処理に時間がかかって何も表示されないプログラムというのは、待っている間ちゃんと動いているのか不安になってしまいます。
そんなときにプログレスバーが出ると進捗状況が分かるので重宝します。Python3の場合、tqdmを使うと簡単にそれが実現できます。
tqdmの使い方
tqdmは次のようにインストールします。
python -m pip install tqdm
分かりやすい例として簡単なものを作ってみましょう。
from tqdm import tqdm import time for j in tqdm(range(10)): time.sleep(0.1)
実行すると次のようなプログレスバーが表示されます。
30%|████████████████████████▉ | 3/10 [00:00<00:01, 6.85it/s]
tqdm()に渡すことができるのは順々に値を取り出せるもの(イテレータ)であれば何でも大丈夫です。あらかじめ取り出せる量が決まっていない(無限ループなど)場合でも使えますが、その場合はプログレスバーが表示されず実行回数と経過時間だけ表示されます。
個人的にはログファイルの処理をするときも重宝しています。次のようにログファイルを1行ずつ処理して、最後に結果を表示させるようなスクリプトであれば進捗状況が分かっていい感じになります。
from tqdm import tqdm with open("fuga.log", mode="r", encoding="utf-8") as f: lines = f.readlines() for line in tqdm(lines): # 何かしらの処理 # 結果表示
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント