アプリをつくりながらPythonを勉強中.
今日は、Queueから一つずつオブジェクトを取り出して処理するときに、進捗表示ができたらいいなと思い、そういうライブラリを探してみた。
progressbarというライブラリができそうなのだが、python3では動かなかった.
困っていたら、以下を見つけた. Python3で動作することを確認.
インストール
pipでインストール.
$ sudo pip install progressbar2
使い方
Exampleページを参考にいくつか試す.
基本の使い方
from progressbar import ProgressBar
import time
p = ProgressBar(100)
for i in range(100):
p.update(i+1)
time.sleep(0.01)
100% (100 of 100) |###############################| Elapsed Time: 0:00:01 ETA: 0:00::0
Queueサイズ分の進捗表示
from progressbar import ProgressBar
import queue
q = queue.Queue()
for i in range(12345):
q.put(i)
p = ProgressBar(q.qsize()).start()
for i in range(q.qsize()):
q.get()
p.update(i)
p.finish()
100% (12345 of 12345) |###########################| Elapsed Time: 0:00:00 Time: 0:00:00
おわりに
自分で車輪の再発明をする前に、ネットでOSSが転がっていないか探すことが大事だと実感.
ほしいものは、大抵おちてる、それがオープンソースの世界.
以上、Happy Hacking!!