吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Tqdm:超方便的迭代進(jìn)度條

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-21 10:16 ? 次閱讀

Tqdm 是一個智能進(jìn)度表。它能夠顯示所有可迭代對象當(dāng)前執(zhí)行的進(jìn)度。

你只需要用 tqdm 對可迭代對象進(jìn)行封裝后再遍歷即可實(shí)現(xiàn)進(jìn)度條功能,比如說:

from tqdm import tqdm
for i in tqdm(range(10000)):
    ...

顯示效果如下:

76%|████████████████████████ | 7568/10000 [00:33<00:10, 229.00it/s]

1.準(zhǔn)備

開始之前,你要確保Pythonpip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install tqdm

2.基本使用

tqdm 非常靈活,可以使用多種方式調(diào)用。下面給出了兩種主要的形式。

2.1 迭代的形式

使用 **tqdm() **封裝可迭代的對象:

from tqdm import tqdm
from time import sleep

text = ""
for char in tqdm(["a", "b", "c", "d"]):
    sleep(0.25)
    text = text + char

trange(i) 是特殊的關(guān)鍵字,是封裝了range的tqdm對象:

from tqdm import trange

for i in trange(100):
    sleep(0.01)

通過 set_description方法,你能控制進(jìn)度條顯示當(dāng)前步驟的名稱:

Processing d: 100%|█████████████████████████████████████████████| 4/4 [00:01<00:00, 3.99it/s]

2.2 手動的形式

除了迭代的形式,你可以手動控制進(jìn)度,加一個tqdm上下文即可:

with tqdm(total=100) as pbar:
    for i in range(10):
        sleep(0.1)
        pbar.update(10)

上述例子中,pbar 是 tpdm 的“進(jìn)度”,每一次對 pbar 進(jìn)行 update 10 都相當(dāng)于進(jìn)度加10。

Total 的值即是總進(jìn)度,這里 total 的值是100,那么pbar加到100的時候進(jìn)度也就結(jié)束了。

你也可以選擇不使用上下文的形式調(diào)用,但要記得結(jié)束后對對象進(jìn)行關(guān)閉操作:

pbar = tqdm(total=100)
for i in range(10):
    sleep(0.1)
    pbar.update(10)
pbar.close()

3.模塊結(jié)合

Tqdm 最妙的地方在于能在命令行中結(jié)合使用:

$ find . -name '*.py' -type f -exec cat {} ; |
    tqdm --unit loc --unit_scale --total 857366 > > /dev/null
100%|█████████████████████████████████| 857K/857K [00:04< 00:00, 246Kloc/s]

只需在管道之間插入tqdm(或python -m tqdm),即可將進(jìn)度條顯示到終端上。

備份大目錄:

$ tar -xcf - docs/ | tqdm --bytes --total `du -sb docs/ | cut -f1` 
  > backup.tgz
 44%|██████████████▊ | 153M/352M [00:14< 00:18, 11.0MB/s]

這可以進(jìn)一步美化:

$ BYTES="$(du -sb docs/ | cut -f1)"
$ tar -cf - docs/ 
  | tqdm --bytes --total "$BYTES" --desc Processing | gzip 
  | tqdm --bytes --total "$BYTES" --desc Compressed --position 1 
  > ~/backup.tgz
Processing: 100%|██████████████████████| 352M/352M [00:14< 00:00, 30.2MB/s]
Compressed: 42%|█████████▎ | 148M/352M [00:14< 00:19, 10.9MB/s]
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1461

    瀏覽量

    34166
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85040
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于進(jìn)度條

    我用的labview8.6,初學(xué)者,在那能找到進(jìn)度條啊!
    發(fā)表于 10-28 11:35

    進(jìn)度條問題

    如何通過編程的方法改變進(jìn)度條刻度的最大值?
    發(fā)表于 02-20 22:55

    請問怎么用進(jìn)度條顯示程序的進(jìn)度

    怎么用進(jìn)度條顯示程序的進(jìn)度
    發(fā)表于 12-24 10:02

    labview的進(jìn)度條

    這是一個labview的進(jìn)度條程序,比較好用
    發(fā)表于 08-04 14:30

    第52章 PROGBAR-進(jìn)度條控件

    轉(zhuǎn)stemwin教程本期教程講解STemWin支持的進(jìn)度條控件。 52. 1 進(jìn)度條控件介紹 52. 2 官方WIDGET_Multipage實(shí)例 52. 3 使用GUIBulder建立多頁控件
    發(fā)表于 10-18 09:32

    精美的進(jìn)度條

    本帖最后由 yk74110 于 2019-6-20 11:35 編輯 效果非常漂亮的進(jìn)度條,稍作修改,子vi可運(yùn)用于實(shí)際項(xiàng)目。
    發(fā)表于 12-21 16:18

    labview進(jìn)度條

    我用labview2017做了一個文件解壓和復(fù)制的vi,解壓過程中不知道真實(shí)的解壓進(jìn)度,怎么才能做一個真實(shí)的進(jìn)度條,要真是的,不是自己規(guī)定的,求助!!!
    發(fā)表于 04-26 09:10

    labview實(shí)現(xiàn)進(jìn)度條

    進(jìn)度條
    發(fā)表于 03-25 17:06

    怎么設(shè)置進(jìn)度條

    RT!比如 我創(chuàng)建一個隨意長度的進(jìn)度條然后我知道一個文件的大小 當(dāng)把這個文件里的數(shù)據(jù)讀完后進(jìn)度條也跟著完畢請問那位弄過?我搞了下隨意創(chuàng)建 有問題有事候進(jìn)度條會超出 邊框那么一點(diǎn)點(diǎn)!
    發(fā)表于 08-22 04:35

    HarmonyOS實(shí)戰(zhàn)——ProgressBar進(jìn)度條組件基本使用

    【鴻蒙專欄,從入門到實(shí)戰(zhàn)系列】:https://bbs.elecfans.com/user/4697363/posts/1. ProgressBar進(jìn)度條組件組件說明:常見app中,下載進(jìn)度條
    發(fā)表于 09-22 23:31

    C#教程之彈出模式窗口顯示進(jìn)度條

    C#教程之彈出模式窗口顯示進(jìn)度條,很好的C#資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-20 10:49 ?7次下載

    Python的迭代進(jìn)度條 (Tqdm)

    Tqdm 是一個智能進(jìn)度表。它能夠顯示所有可迭代對象當(dāng)前執(zhí)行的進(jìn)度
    的頭像 發(fā)表于 02-24 11:12 ?961次閱讀
    Python的<b class='flag-5'>迭代</b><b class='flag-5'>進(jìn)度條</b> (<b class='flag-5'>Tqdm</b>)

    廣州大彩VisualTFT組態(tài)控件教程(三)進(jìn)度條控件

    電子發(fā)燒友網(wǎng)站提供《廣州大彩VisualTFT組態(tài)控件教程(三)進(jìn)度條控件.pdf》資料免費(fèi)下載
    發(fā)表于 10-13 17:40 ?0次下載

    大彩串口屏控件教程15 - 圓形進(jìn)度條控件應(yīng)用

    大彩串口屏控件教程15-圓形進(jìn)度條控件應(yīng)用
    發(fā)表于 04-29 12:57 ?3次下載

    【AWTK使用經(jīng)驗(yàn)】如何設(shè)計(jì)立體電池進(jìn)度條

    AWTK是基于C語言開發(fā)的跨平臺GUI框架。《AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會在系列文章進(jìn)行解答
    的頭像 發(fā)表于 04-18 08:25 ?509次閱讀
    【AWTK使用經(jīng)驗(yàn)】如何設(shè)計(jì)立體電池<b class='flag-5'>進(jìn)度條</b>?
    澳门百家乐官网赌钱| 2024年九宫八卦吉位| 互博百家乐的玩法技巧和规则| 欧华娱乐| 玩百家乐官网的玩法技巧和规则| 百家乐园首选海立方| 百家乐官网游戏开发技术| 百家乐开户优惠多的平台是哪家| 百家乐官网客户端软件| 波音百家乐现金网投注平台排名导航 | 龙博娱乐城| 百家乐有多少局| 在线博弈游戏| 送58百家乐官网的玩法技巧和规则 | 百家乐官网定位膽技巧| 金赞百家乐官网现金网| 百家乐庄家抽水的秘密| 澳门百家乐官网死局| 百家乐有送体验金| 澳门百家乐官网鸿福厅| 大上海百家乐的玩法技巧和规则| 百家乐官网园棋牌| 威尼斯人娱乐场内幕| 乐天堂百家乐官网赌场娱乐网规则| 大发888真人娱乐城| 百家乐官网连锁| 大发888体育注册| 百家乐官网网页游戏| 东乌| 大三巴百家乐官网的玩法技巧和规则 | 德州扑克高牌| 百家乐单跳双跳| 百家乐官网现场网络| 海立方百家乐的玩法技巧和规则| 百家乐官网出千工具价格| 大发888娱乐城34| 百家乐代理龙虎| 百家乐官网真钱牌九| 百家乐官网的桌子| 久久棋牌评测| 百家乐优博u2bet|