python

【python】プログレスバーを表示する【→プログラム初心者向け】

11月 6, 2019

how to display progress bar on python
プログラム女子
処理の時間が長い時に「今は処理中」って知らせる方法はあるかな。。
プログレスバーを表示すればユーザーに「今処理中」を知らせることができるよ。<br>今回はプログレスバーを表示する方法を説明するね。
Tommy

Pythonでプログレスバーを表示する概要

summary of displaying progress bar

長い時間がかかるような処理では、どの程度まで処理が進んだかわからないことがあります。

もし、何かの原因で処理が止まっていると、時間がかかっているだけなのか、途中で処理が止まっているのかを把握することは難しくなります。

そこで、プログレスバーを端末に表示して処理の進捗を確認することができれば、とても便利です。

プログレスバーで進捗状況をわかるようにする方法を説明します。

Pythonでプログレスバーを表示する前提の環境

environment of displaying progress bar

プログレスバーを使う前提の環境は、下の記事で説明している私の環境と同じ環境で確認しています。

オススメ
how to check version in python
【python】バージョン確認の方法【→プログラミング初心者向け】

続きを見る

また、レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。

もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。

オススメ
how to programming on rental server
レンタルサーバでプログラミングする方法【→ブログのサーバでできる!】

続きを見る

Pythonでプログレスバーを表示するサンプルプログラム

sample program of displaying progress bar

ここではプログレスバーの表示をfor文の例を参考に示し、どのようにプログレスバーを表示するのか、プログレスバー表示に関するオプションをサンプルプログラムで説明します。

ライブラリのインポート

今回のプログレスバー表示には、progressbarというライブラリを使用します。なので、progressbarというライブラリをインポートしています。

また、詳細な進捗状況を表示する為に、progressbarのライブラリの中のPercentage、Bar、 Counter、 DataSizeというサブライブラリを使用しました。
For文で進捗状況の例を示すのですが、少し時間をかせぐためにtimeのライブラリを使用しました。

from progressbar import progressbar
from progressbar import Percentage, Bar, Counter, DataSize

import time

プログレスバーを表示する実装

if __name__ == '__main__':

	mlist = list(range(100))

	widgets=['Test Progress:',Percentage(),'(',Counter(),' of ',str(len(mlist))+')',Bar(),]

	for i in progressbar(mlist,widgets=widgets):
		time.sleep(0.1)

プログレスバーのウィジェット

ウィジェット(widgets)では、色々な進捗状況の表示形式を指定することができます。

ウィジェットの詳細は下記のサイトを参照ください。

Welcome to Progress Bar’s documentation! — Progress Bar 3.46.1 documentation

-python
-

© 2020 Tommy's blog Powered by AFFINGER5