Python

Python初心者必見!tqdmを使ってプログレスバーを表示!

2023年5月14日

Pythonとtqdmを使ってプログレスバーを表示

Pythonプログラムを実行したけど、進捗が分からず不安…

そんな時はこれ!

Pythonとtqdmを使ったプログレスバーを使えば、効率的に作業を進めることができます。
プログレスバーは処理の進行状況を可視化し、残り時間や予想完了時間を表示してくれます。

また、プログレスバーが表示されることで、
作業が進んでいるという実感を得られてモチベーションが上がる?効果もあります。

この記事ではPythonとtqdmを使ったプログレスバーの使い方について詳しく解説します。

時間に追われる日々でも、
効率的に作業を進めることができるので、Pythonユーザーは必見です!

①tqdmとは?

tqdmとは?

tqdmとは、Pythonのプログレスバー表示ライブラリで、
プログラムの進行状況を視覚的に確認することができます。

ループ処理やファイルの読み書き、機械学習モデルの学習など
様々な処理に利用されています。

tqdmの特徴として以下の3点があります。

tqdmの特徴

  • プログレスバーの表示が簡単に実装できる
  • 軽量で高速に動作する
  • カスタマイズ性が高い

プログレスバーの表示が簡単に実装できる

tqdmはプログレスバーの表示を簡単に実装できます。
forループなどで処理を行う時に、tqdm関数を使用するだけでプログレスバーを表示できます。

軽量で高速に動作する

tqdmは軽量で高速に動作します。
Pythonの標準ライブラリであるtimeモジュールを使って、プログレスバーの進捗状況を計測しているので、処理の速度を遅くすることはありません。

カスタマイズ性が高い

「python tqdm」は、プログレスバーの表示形式をカスタマイズすることができます。プログレスバーの色やバーの形状、進捗状況の表示形式を変更することができます。また、プログレスバーに表示する情報を自由に設定することも可能です。

②tqdmの使い方

tqdmの使い方

tqdmの使い方について以下の内容で説明します。

tqdmの使い方

  • tqdmのインストール方法
  • tqdmを使ったプログレスバーの表示方法
  • こんな使い方も

tqdmのインストール方法

Pythonのパッケージ管理ツールpipを使って、tqdmライブラリをインストールします。以下のコマンドをターミナルで実行してください。

pip install tqdm

condaコマンドを使用して、tqdmをインストールすることもできます。

conda install tqdm

tqdmを使ったプログレスバーの表示方法

プログレスバーを表示するには、tqdmパッケージをインポートし、forループやイテレーターにtqdm関数を適用します。
以下は、0から999までの数字を処理する際にプログレスバーを表示する例です。

from tqdm import tqdm

for i in tqdm(range(1000)):
    pass
    # 処理内容(処理内容を記載する時は上のpassを削除またはコメントアウトして下さい。)

このようにtqdm関数使うことで、プログレスバーが表示されます。
プログレスバーには、処理が完了するまでの進捗状況が表示されます。

※実際に処理内容を記載する時は上のpassを削除またはコメントアウトして下さい。
 passを残したままだと、せっかく書いたプログラムが実行されません。

簡単に実装が出来ましたね!

こんな使い方も

  • タイトルを入れる
  • プログレスバーの長さを変更する
  • 最後にプログレスバーを消す

下のようにdsecを追加することでプログレスバーにタイトルをつけることもできます。

from tqdm import tqdm

for i in tqdm(range(1000), desc="テストケース"):
    pass
    # 処理内容(処理内容を記載する時は上のpassを削除またはコメントアウトして下さい。)

ncolsを追記することで、プログレスバーの長さを変更できます。

from tqdm import tqdm

for i in tqdm(range(1000), ncols=100):
    pass
    # 処理内容(処理内容を記載する時は上のpassを削除またはコメントアウトして下さい。)

leave=Falseを追記することで、100%になるとプログレスバーを消すことができます。

from tqdm import tqdm

for i in tqdm(range(1000), leave=False):
    pass
    # 処理内容(処理内容を記載する時は上のpassを削除またはコメントアウトして下さい。)

③tqdmの問題解決

問題解決

twdmを使うと以下のようなエラーや問題が出る可能性があるので、解決方法を紹介します。

  • プログレスバーが表示されない
  • プログレスバーの表示が遅い

プログレスバーが表示されない

tqdmがインストールされていない、またはバージョンが古いなどが考えられるので
まずtqdmがインストールされているか確認し、古いバージョンであれば最新版に更新することが挙げられる。

下のプログラムでtqdmが最新版にアップグレードされます。

pip install --upgrade tqdm

それでもtqdmが動作しない場合は、他の環境で試してみましょう。

プログレスバーの表示が遅い

プログレスバーの表示が遅い場合は、以下の可能性が考えられるので、
ループ回数を減らす工夫や処理の簡素化を検討する必要があります。

  • ループ回数が非常に多い
  • ループ処理内で重い処理を行っている

今回はtqdmを使ったプログレスバーの表示方法を紹介しました。

tqdmを使うことで、プログレスバーを表示して処理の進捗状況を確認することができます。

  • この記事を書いた人

メカタナ

副業ブロガー【経歴】関西出身▶︎理系国立大学院▶︎東証プライム上場企業メーカー開発職▶︎妻と息子1人と暮らしています。▶︎メカタナブログを開設⇒仕事や日常で役立つPythonプログラムを紹介していきます!

-Python