Python進度條tqdm的用法詳解

前言

有時候在使用Python處理比較耗時操作的時候,為瞭便於觀察處理進度,這時候就需要通過進度條將處理情況進行可視化展示,以便我們能夠及時瞭解情況。這對於第三方庫非常豐富的Python來說,想要實現這一功能並不是什麼難事。

tqdm就能非常完美的支持和解決這些問題,可以實時輸出處理進度而且占用的CPU資源非常少,支持windows、Linux、mac等系統,支持循環處理、多進程、遞歸處理、還可以結合linux的命令來查看處理情況,等進度展示。

大傢先看看tqdm的進度條效果:

在這裡插入圖片描述

tqdm安裝:

pip install tqdm

1. 用tqdm子模塊

對於可以迭代的對象都可以使用下面這種方式,來實現可視化進度,非常方便

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)
    pass

在這裡插入圖片描述

from tqdm import tqdm
import time
 
for i in tqdm(range(50)):
    time.sleep(0.1)
    pass

在這裡插入圖片描述

帶參數

from tqdm import tqdm
import time
d = {'loss':0.2,'learn':0.8}
for i in tqdm(range(50),desc='進行中',ncols=10,postfix=d): #desc設置名稱,ncols設置進度條長度.postfix以字典形式傳入詳細信息
    time.sleep(0.1)
    pass

在這裡插入圖片描述

觀察處理的數據

通過tqdm提供的set_description方法可以實時查看每次處理的數據

from tqdm import tqdm
import time

pbar = tqdm(["a","b","c","d"])
for c in pbar:
    time.sleep(1)
    pbar.set_description("Processing %s"%c)

在這裡插入圖片描述

2. 用trange子模塊,效果和用tqdm子模塊一樣

代碼如下:

from tqdm import trange
import time
for i in trange(100):
    time.sleep(0.1)
    pass

在這裡插入圖片描述

3. 手動設置處理進度

from tqdm import tqdm
import time
#total參數設置進度條的總長度
with tqdm(total=100) as bar: # total表示預期的迭代次數
    for i in range(100): # 同上total值
        time.sleep(0.1)
        bar.update(1)  #每次更新進度條的長度

在這裡插入圖片描述
在這裡插入圖片描述

參考:link   link

到此這篇關於Python進度條tqdm的用法詳解的文章就介紹到這瞭,更多相關Python進度條tqdm內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: