剛使用python的progressbar2,只有官方文檔,且文檔太多了,平時用到的功能也不多。所以在此記錄一般需要的功能。PS:應該會長期更新吧~
一、安裝
pip install progressbar2
二、使用
2.1 基礎版
會根據for循環的次數來自動生成,只需要在for循環外包裹一層progressbar.progressbar()
import progressbar
import time
bar = progressbar
for i in bar.progressbar(range(100)):
time.sleep(0.2)
結果如下,其中ETA爲預測距離結束時間還有X:XX:XX
2.1 稍加進步版
由於我們的代碼可能使用enumerate,因此使用此方法可以自定義起止位置。
- 下方代碼只起解釋作用,並不可運行
import progressbar
bar = progressbar.ProgressBar(start, end)
bar.start()
for index, data in enumerate(Dataloader):
# index取值範圍(start, end)
bar.update(index)
# 其他工作
bar.finish()
2.2 作者回復(enumerate版):
關於使用enumerate的問題,我在github上以及提出了issues並得到了回覆,看來這個問題解決了hhhhh
兩種自動更新:
import time
import progressbar
for i, value in enumerate(progressbar.progressbar(range(100))):
time.sleep(0.02)
# in either order, this works too:
for i, value in progressbar.progressbar(enumerate(range(100))):
time.sleep(0.02)
手動更新:
import time
import progressbar
bar = progressbar.ProgressBar()
for i, value in enumerate(range(100)):
time.sleep(0.02)
bar.update(i)
用到新的內容時再更新~