
今回は、Pythonで使用できるポピュラーな進捗バー(プログレスバー)のライブラリをいくつか紹介します。
進捗バー(プログレスバー)ライブラリの紹介
・tqdm
まず最初に紹介するのは、tqdmです。シンプルで使いやすいし、Pythonではよく見る進捗バーだと思います。
forループなどの処理に簡単に組み込むことができ、自動的にプログレスバーが表示されます。
インストール >pip install tqdm
1 2 3 4 5 |
from tqdm import tqdm import time for i in tqdm(range(10)): time.sleep(0.5) |
preview:

シンプルでいい感じ。
経過時間もわかるので、とりあえずこれ使っておけばOKな感じがありますね。
・progressbar2
次に紹介するのは、progressbar2です。
このライブラリは、カスタマイズ性に優れており、さまざまなバーのスタイルや表示形式を選択できます。
インストール >pip install progressbar2
1 2 3 4 5 6 |
import progressbar import time bar = progressbar.ProgressBar() for i in bar(range(10)): time.sleep(0.5) |
preview:

おぉ〜。これもいい感じ。
実経過時間に加え、おおよその残り時間ぽいものも表示されるので長い処理などに有効かもしれませんね。
・alive_progress
お次は、alive_progressです。
これはなかなかグラフィカルなデザインで、上記2つより見た目のバリエーションが多そうです。
with文を使用するので、複数箇所に実装すると可読性が落ちるかも・・?
インストール >pip install alive_progress
1 2 3 4 5 6 7 |
from alive_progress import alive_bar import time with alive_bar(10) as bar: for i in range(10): time.sleep(0.5) bar() |
preview:

横方向だけでなく、縦方向のバーがリッチな見た目を演出してますね(笑)
・rich.progress
ライブラリ紹介の最後は、rich.progressです。
名前の通り、これまで紹介した中で一番リッチな見た目です。
殺風景なコンソール画面に派手な進捗表示をすることができます。
インストール >pip install rich
1 2 3 4 5 6 7 8 9 |
from rich.progress import Progress import time with Progress() as progress: task_id = progress.add_task("[cyan]Processing...", total=10) while not progress.finished: progress.update(task_id, advance=1) time.sleep(0.5) |
preview:

かっけぇ・・・!もはやここまでする必要があるのかと突っ込まれそうだが、
このライブラリには、進捗バーのかっこよさを追求する気概とロマンを感じる・・
ただし、カスタマイズしすぎるとうるさい見た目になるので、ほどほどにするのが良さそう。
あと、バーを表示させるためのコードがちょっと複雑で、実装がめんどくさいかも。
まとめ
いかがでしたでしょうか。
Pythonで使用できる進捗バーの紹介を行いました。これらの進捗バーを活用することで、プログラムの実行状況を視覚的に把握しやすくなり、開発効率が向上することでしょう。また、オリジナルの進捗バーを作成することで、自分だけの個性的な進捗バーを楽しむことができます。
ほかにもプログレスバーのライブラリはたくさんあると思うので、
みなさんのおすすめや自作でこんな方法で進捗表示できるよ〜というのがあったらコメントください!
最後までありがとうございましたッ