日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

2021-04-05 Python tqdm显示代码任务进度

發(fā)布時(shí)間:2025/3/21 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021-04-05 Python tqdm显示代码任务进度 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python tqdm顯示代碼任務(wù)進(jìn)度

有時(shí)候在使用Python處理比較耗時(shí)操作的時(shí)候,為了便于觀察處理進(jìn)度,這時(shí)候就需要通過進(jìn)度條將處理情況進(jìn)行可視化展示,以便我們能夠及時(shí)了解情況。

tqdm就能非常完美的支持和解決這些問題,可以實(shí)時(shí)輸出處理進(jìn)度而且占用的CPU資源非常少,支持windows、Linux、mac等系統(tǒng),支持循環(huán)處理、多進(jìn)程、遞歸處理等進(jìn)度展示。

安裝tqdm

github地址:https://github.com/tqdm/tqdm

想要安裝tqdm也是非常簡單的,通過pip就可以安裝,而且不需要安裝其他的依賴庫。

pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

迭代對象處理

對于可以迭代的對象都可以使用下面這種方式,來實(shí)現(xiàn)可視化進(jìn)度,非常方便

from tqdm import tqdmimport timefor i in tqdm(range(100)):time.sleep(0.1)pass

在使用tqdm的時(shí)候,可以將tqdm(range(100))替換為trange(100)代碼如下

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

通過tqdm提供的set_description方法可以實(shí)時(shí)查看每次處理的數(shù)據(jù)

from tqdm import tqdm import timestr = tqdm(["a", "b", "c"]) for c in str:time.sleep(1)str.set_description("Processing?%s"?%?c)

手動設(shè)置處理的進(jìn)度

通過update方法可以控制每次進(jìn)度條更新的進(jìn)度

  • ?
from tqdm import tqdm import time# total參數(shù)設(shè)置進(jìn)度條的總長度 with tqdm(total=100) as pbar:for i in range(100):time.sleep(0.05)# 每次更新進(jìn)度條的長度pbar.update(1)

自定義進(jìn)度條顯示信息

通過set_description和set_postfix方法設(shè)置進(jìn)度條顯示信息

from tqdm import trange from random import random, randint import timewith trange(100) as t:for i in t:# 設(shè)置進(jìn)度條左邊顯示的信息t.set_description("GEN %i" % i)# 設(shè)置進(jìn)度條右邊顯示的信息t.set_postfix(loss=random(), gen=randint(1, 999), str="h", lst=[0, 1, 2])time.sleep(0.1)

多層循環(huán)進(jìn)度條

通過tqdm也可以很簡單的實(shí)現(xiàn)嵌套循環(huán)進(jìn)度條的展示

在pycharm中執(zhí)行以上代碼的時(shí)候,會出現(xiàn)進(jìn)度條位置錯亂,目前官方并沒有給出好的解決方案,這是由于pycharm不支持某些字符導(dǎo)致的,不過可以將上面的代碼保存為腳本然后在命令行中執(zhí)行,效果如下

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)

總結(jié)

以上是生活随笔為你收集整理的2021-04-05 Python tqdm显示代码任务进度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。