python Progressbarとglobで簡単に進捗を表示する方法

python サンプル学習
この記事は約3分で読めます。

Progressbar2とglobのインストール方法から使い方、exampleの紹介まで

一通り紹介いたします。for文に簡単に組み込めるのでオススメです

本日の伝えたいこと

✔ pythonでプログレスバーを表示したいときは、Progressbar2とglobで全部解決

困ったこと

Pythonで大量データを処理する際、プログレスバーがないと

いつ処理が終わるかが分かりにくい

内容

Progressbarとglobをインストールすることで、

フォルダ以下の指定の拡張子をリスト化し、Progressbarにより進捗表示が可能となる

メリット

ツール配布時、スクリプトの進捗が分かるようになるため

処理時間が長い場合でもストレスなく使ってもらえるようになる

解決方法

インストール方法

コマンドプロンプトを立ち上げて

>> pip install progressbar

>> pip install glob

これで問題なくインストールできる

使い方

・Progressbarについては、for文を作成する際、

下記形でファイル名のリストをprogressbarの関数に渡すだけで可能となる

  for fname in progressbar(fnms):

・相性として非常によくなるのがglob関数だ。

 フォルダを指定し、*と文字列を書くことで、

 そのフォルダの中にある文字列と一致したファイル名をリストで返してくれる

 glob(‘./TargetFolder/*.csv’)

 ちなみにフォルダの中を再帰的に検索したい場合は、下記書式になるので参考に

 大体がこの書式になるかと思う

 glob(‘./TargetFolder/**/*/.csv’, recursive=True)

サンプルコード

# -*- coding: utf-8 -*-
from glob import glob
from progressbar import progressbar 

fnms = glob(‘./TargetFolder/**/*.csv’, recursive=True)
for fname in progressbar(fnms):
    print(fname)

実際の現場で求められること

プログラマであれば、気にしないような部分だとは思うが

一般人がツールを使うとき、プログレスバーがついていると非常に喜ばれる。

フリーズした!!と不安になる気持ちがないからなのだろう。

これだけ簡単につけられるのだから、つけておいて損はない。必ずつけておこう

まとめ

✔ globでリストを作ったリストをProgressbarに渡すと簡単にプログレスバーができる

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