小工具|Python進度條模塊Progressbar

Python進度條模塊Progressbar

今天突然被問了一個問題:程序在執行中很久不結束是怎麼回事?看不到程序執行的進度,在我們進行大工程的時候的確是一件很頭疼的事,本文讓我們來了解一個很常用的進度條展示小工具——Progressbar。

注:最新版的使用者不要照着GitHub上的官方文檔去操作,文檔信息沒有維護,會出現很多問題。

下載模塊

pip install progressbar

 

注意:安裝模塊的時候可能會出現warning,耐心等待,總會出現success。

 

簡單的使用方法

import timefrom progressbar import * total = 1000 def test_func():    time.sleep(0.01)progress = ProgressBar()for i in progress(range(1000)):    test_func()

 

對於簡單的循環函數而言,我們只需要把它加在我們組合了progress方法的循環下就可以了。

我們會看到如下的進度條:

 

放在循環外定義使用

# -*- coding=utf-8 -*-from __future__ import divisionimport sys, timefrom progressbar import *total = 1000def test_func():    time.sleep(0.01)bar = ProgressBar().start()for i in range(1000):    bar.update(int((i / (total - 1)) * 100))    test_func()bar.finish()

注意:不要忽略了start()和fininsh()否則會出現問題。

 

多層信息的展示使用

# -*- coding=utf-8 -*-import timefrom progressbar import *total = 1000def test_func():    time.sleep(0.01)widgets = [    'Progress: ',    Percentage(), ' ',    Bar('#'), ' ',    Timer(), ' ',    ETA(), ' ',    FileTransferSpeed()]bar = ProgressBar(widgets=widgets, maxval=10 * total).start()for i in range(total):    bar.update(10 * i + 1)    test_func()bar.finish()

 

結果如下:

參數說明:

'Progress: ' :設置進度條前顯示的文字
Percentage() :顯示百分比
Bar('#') :設置進度條形狀
ETA() :顯示預計剩餘時間
Timer() :顯示已用時間

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章