はじめに
実行に長時間かかる処理でlogger
やprint
を使って進捗を表示することがあるかと思いますが、代わりに進捗バーを表示することで、より直感的に処理の進行状況を視覚的に確認できます。
本記事では進捗バーを作成するのに便利なライブラリtqdmを使って、簡単に進捗状況を表示する方法を紹介します。
tqdmとは
tqdmはPythonで進捗バーを簡単に表示するためのライブラリで、名前の由来はアラビア語(taqadum, تقدّم)で進行という意味だそうです。
tqdmのドキュメントはこちら
tqdmの導入方法
tqdmを使用するためには、まずインストールが必要です。
以下のコマンドを使って簡単にインストールしましょう。
pip install tqdm
tqdmの使い方
tqdmは反復処理の前にtqdm()
をラップするだけで、進捗バーを表示することができます。例えば、以下のように使います。
from tqdm import tqdm
import time
# tqdmで進捗バーを表示
for i in tqdm(range(100)):
time.sleep(0.1)
今回はサンプルでrange(100), time.sleep(0.1)を使っていますが、実際に進捗バーを表示したい処理に適宜置き換えてください。
以下は実際に動作させている光景です。
tqdmのオプション
tqdm
はデフォルトで非常に便利な進捗バーを提供しますが、いくつかのオプションを使うことで自分好みのカスタマイズが可能です。
今回はそのオプションの一部を解説してみます。
- desc: 進捗バーの前に表示する説明文を指定します
- ncols: 出力メッセージ全体の幅を指定します
- colour: 進捗バーのカラーを指定します(例: "#00ff00")
- ascii: 進捗バーを埋める文字やブロックを指定します
カスタマイズしたサンプルコード
from tqdm import tqdm
import time
# tqdmで進捗バーを表示
for i in tqdm(range(100), desc="カスタマイズしたよ", ncols=80, colour="#00ff00", ascii="-="):
time.sleep(0.1)
以下は実際に動作させている光景です。
descで進捗バーに説明が追加
ncolsで進捗バーの幅がコンパクト化
ncolsで進捗バーに色を変更
asciiで-=
が進捗バーを埋める文字が変更
されていることがわかります。
色や進捗バーを変えると一気におしゃれになりますね!
まとめ
今回はPythonで進捗バーを作成するための便利なライブラリtqdmを紹介しました。
自分好みのカスタマイズにすることで退屈な長時間の処理を少しでも楽しく感じることができると思います!
ご拝読いただきありがとうございました🐈⬛