Pythonでプログレス(進捗)バーを表示する

Pythonでプログレス(進捗)バーを表示してみます。

プログレス(進捗)バーとは、長時間かかるタスクの進捗状況がどの程度完了したのかを視覚的・直感的に表示するものです。

今回プログレス(進捗)バーを表示させるために、tqdmモジュールを使用します。tqdmモジュールは、Pythonの標準ライブラリではありません。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■tqdmモジュールのインストール

tqdmをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。

pip install tqdm

起動後、上記のコマンドを入力し、Enterキーを押します。

なお、今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。

py -3.8 -m pip install tqdm

切り替えるために、上記のコマンドを入力し、Enterキーを押します。Enterキーを押すと、インストールが開始され、「Successfully installed」と表示されれば、正常にtqdmのインストールは完了となります。

■プログレス(進捗)バーを表示する

tqdmモジュールのインストールが完了しましたので、プログレス(進捗)バーを表示させるスクリプトを書いていきます。

■コード

from tqdm import tqdm
from time import sleep

for i in tqdm(range(300)):
    sleep(0.01)

tqdmモジュールと、Pythonの標準モジュールであるsleepモジュールを呼び出して、tqdm()の括弧内に、今回は「300」という数字を記述し、この指定された数字まで、for文による繰り返し、sleep()で0.01秒待機させながら処理をさせていきます。

■実行

今回のスクリプトを「progress_bar.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、合計300回の繰り返し処理が94.56回/秒の速度で実行されたことがプログレス(進捗)バーで表示できることを確認できました。

■プログレス(進捗)バーの前にテキストを表示する

from tqdm import tqdm
from time import sleep

for i in tqdm(range(300),desc="test"):
    sleep(0.01) 

次に、プログレス(進捗)バーの前にテキストを表示させるためには、「desc=」と記述し、クォーテーション内に表示させたいテキストを記述します。

今回のスクリプトを変更し、実行してみると、テキストを表示させることができました。日本語のテキストでも表示されます。

■プログレス(進捗)バーを表示させない場合

from tqdm import tqdm
from time import sleep

for i in tqdm(range(300),disable=True):
    sleep(0.01)

次にプログレス(進捗)バーを表示させなくすることもできます。このような場合は、「disable=」と記述し、その後に「True」と記述します。

今回のスクリプトをスクリプトを変更し、実行してみると、プログレス(進捗)バーが表示しなくなることを確認できました。なお、「disable=」と記述し、その後に「False」と記述すると、プログレス(進捗)バーが表示できます。

■プログレス(進捗)バーで表示する列の数を指定する

from tqdm import tqdm
from time import sleep

for i in tqdm(range(300),ncols=10):
    sleep(0.01)

次に、プログレス(進捗)バーで表示する列の数を指定することができます。指定する場合は「ncols=」と記述し、その後に表示する列の数を指定します。今回は10と指定します。

今回のスクリプトを変更し、実行してみると、表示する列の数が変更されて表示することを確認できました。

■プログレス(進捗)バーで表示する必要な値を指定する

from tqdm import tqdm
from time import sleep

for i in tqdm(range(300),ascii="**"):
    sleep(0.01) 

次に、プログレス(進捗)バーで進捗状況がどの程度完了したのかを視覚に表示するために、記号、マークなどを指定することができます。指定する場合は、「ascii=」と記述し、クォーテーション内に表示させる値を指定します。今回は「**」米印を指定します。

今回のスクリプトを変更し、実行してみると、進捗状況の表示が変更されたことを確認できました。

コメント

タイトルとURLをコピーしました