2021-04-05 Python tqdm显示代码任务进度
Python tqdm顯示代碼任務進度
有時候在使用Python處理比較耗時操作的時候,為了便于觀察處理進度,這時候就需要通過進度條將處理情況進行可視化展示,以便我們能夠及時了解情況。
tqdm就能非常完美的支持和解決這些問題,可以實時輸出處理進度而且占用的CPU資源非常少,支持windows、Linux、mac等系統,支持循環處理、多進程、遞歸處理等進度展示。
安裝tqdm
github地址:https://github.com/tqdm/tqdm
想要安裝tqdm也是非常簡單的,通過pip就可以安裝,而且不需要安裝其他的依賴庫。
pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple迭代對象處理
對于可以迭代的對象都可以使用下面這種方式,來實現可視化進度,非常方便
from tqdm import tqdmimport timefor i in tqdm(range(100)):time.sleep(0.1)pass在使用tqdm的時候,可以將tqdm(range(100))替換為trange(100)代碼如下
from tqdm import tqdm,trange import timefor i in trange(100):time.sleep(0.1)pass通過tqdm提供的set_description方法可以實時查看每次處理的數據
from tqdm import tqdm import timestr = tqdm(["a", "b", "c"]) for c in str:time.sleep(1)str.set_description("Processing?%s"?%?c)手動設置處理的進度
通過update方法可以控制每次進度條更新的進度
- ?
自定義進度條顯示信息
通過set_description和set_postfix方法設置進度條顯示信息
from tqdm import trange from random import random, randint import timewith trange(100) as t:for i in t:# 設置進度條左邊顯示的信息t.set_description("GEN %i" % i)# 設置進度條右邊顯示的信息t.set_postfix(loss=random(), gen=randint(1, 999), str="h", lst=[0, 1, 2])time.sleep(0.1)多層循環進度條
通過tqdm也可以很簡單的實現嵌套循環進度條的展示
在pycharm中執行以上代碼的時候,會出現進度條位置錯亂,目前官方并沒有給出好的解決方案,這是由于pycharm不支持某些字符導致的,不過可以將上面的代碼保存為腳本然后在命令行中執行,效果如下
from tqdm import tqdm import timefor i in tqdm(range(20), ascii=True, desc="1st loop"):for j in tqdm(range(10), ascii=True, desc="2nd loop"):time.sleep(0.01)總結
以上是生活随笔為你收集整理的2021-04-05 Python tqdm显示代码任务进度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021-03-31 Matlab si
- 下一篇: 2021-04-08 Python通过f