Python進度條tqdm的用法詳解
前言
有時候在使用Python處理比較耗時操作的時候,為了便于觀察處理進度,這時候就需要通過進度條將處理情況進行可視化展示,以便我們能夠及時了解情況。這對于第三方庫非常豐富的Python來說,想要實現(xiàn)這一功能并不是什么難事。
tqdm就能非常完美的支持和解決這些問題,可以實時輸出處理進度而且占用的CPU資源非常少,支持windows、Linux、mac等系統(tǒng),支持循環(huán)處理、多進程、遞歸處理、還可以結(jié)合linux的命令來查看處理情況,等進度展示。
大家先看看tqdm的進度條效果:

tqdm安裝:
pip install tqdm
1. 用tqdm子模塊
對于可以迭代的對象都可以使用下面這種方式,來實現(xiàn)可視化進度,非常方便
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

帶參數(shù)
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設(shè)置名稱,ncols設(shè)置進度條長度.postfix以字典形式傳入詳細信息
time.sleep(0.1)
pass

觀察處理的數(shù)據(jù)
通過tqdm提供的set_description方法可以實時查看每次處理的數(shù)據(jù)
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. 手動設(shè)置處理進度
from tqdm import tqdm
import time
#total參數(shù)設(shè)置進度條的總長度
with tqdm(total=100) as bar: # total表示預期的迭代次數(shù)
for i in range(100): # 同上total值
time.sleep(0.1)
bar.update(1) #每次更新進度條的長度


到此這篇關(guān)于Python進度條tqdm的用法詳解的文章就介紹到這了,更多相關(guān)Python進度條tqdm內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在MAC上搭建python數(shù)據(jù)分析開發(fā)環(huán)境
這篇文章主要介紹了在MAC上搭建python數(shù)據(jù)分析開發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2016-01-01
Python中l(wèi)ogging日志模塊代碼調(diào)試過程詳解
這篇文章主要介紹了Python中l(wèi)ogging日志模塊代碼調(diào)試,今天來看看如何在代碼中定義日志,并探討日志的權(quán)限,需要的朋友可以參考下2023-04-04
python類的方法屬性與方法屬性的動態(tài)綁定代碼詳解
這篇文章主要介紹了python類的方法屬性與方法屬性的動態(tài)綁定代碼詳解,具有一定借鑒價值,需要的朋友可以參考下2017-12-12
對Python subprocess.Popen子進程管道阻塞詳解
今天小編就為大家分享一篇對Python subprocess.Popen子進程管道阻塞詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

