幾行代碼就可以輕松給你的程序加上進度條
迷人的進度條
進度條是一個過程剩余時間的可視化表示。它們使您不必擔心進程是否掛起,也不必嘗試預測代碼的進展情況。您可以實時直觀地看到腳本進行得有多好!
如果您以前從未考慮過或使用過進度條,那么很容易認為它們會給您的代碼增加不必要的復雜性,并且很難維護。這與事實相去甚遠。通過幾行代碼,我們將看到如何向命令行腳本添加進度條。
使用Progress庫
首先要使用的python庫是Progress。
您所需要做的就是定義您希望進行的迭代次數、bar的類型,并在每次迭代時讓bar知道。
- import time
- from progress.bar import IncrementalBar
- mylist = [1,2,3,4,5,6,7,8]
- bar = IncrementalBar('Countdown', max = len(mylist))
- for item in mylist:
- bar.next()
- time.sleep(1)
- bar.finish()
運行結果
使用tqdm庫
接下來要介紹的是tqdm庫。
用于Python和CLI的快速、可擴展的進度條
就像我們看到的上一個庫一樣,我們可以用幾行代碼引入一個progres條。在設置上只有細微的差別:
- import time
- from tqdm import tqdm
- mylist = [1,2,3,4,5,6,7,8]
- for i in tqdm(mylist):
- time.sleep(1)
運行結果:

使用Alive Progress庫
顧名思義,這個庫試圖激活進度條。它比我們之前看到的進度條有更多的動畫。但是在代碼方面,它非常相似:
- from alive_progress import alive_bar
- import time
- mylist = [1,2,3,4,5,6,7,8]
- with alive_bar(len(mylist)) as bar:
- for i in mylist:
- bar()
- time.sleep(1)
使用PySimpleGUI的圖形化進度條
我們可以添加一行代碼來將圖形化的進度條添加到命令行腳本中。

要實現上述目標,我們所需要的是:
- import PySimpleGUI as sg
- import time
- mylist = [1,2,3,4,5,6,7,8]
- for i, item in enumerate(mylist):
- sg.one_line_progress_meter('This is my
- progress meter!', i+1, len(mylist), '-key-')
- time.sleep(1)