一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Python 超方便的迭代進度條 (Tqdm)

 wenxuefeng360 2022-09-26 發(fā)布于四川

圖片


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

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

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

顯示效果如下:

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

1.準備

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

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

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

請選擇以下任一種方式輸入命令安裝依賴
1. Windows 環(huán)境 打開 Cmd (開始-運行-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 方法,你能控制進度條顯示當前步驟的名稱:

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

2.2 手動的形式

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

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


上述例子中,pbar 是 tpdm 的“進度”,每一次對 pbar 進行 update 10 都相當于進度加10。

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

你也可以選擇不使用上下文的形式調(diào)用,但要記得結(jié)束后對對象進行關(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),即可將進度條顯示到終端上。

備份大目錄:

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

這可以進一步美化:

$ 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]

我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品大秀视频日韩精品| 在线免费视频你懂的观看| 欧美人妻盗摄日韩偷拍| 国产一区二区精品高清免费| 国产亚洲二区精品美女久久| 欧美不卡午夜中文字幕| 久久热在线视频免费观看| 91精品国产av一区二区| 欧美同性视频免费观看| 好吊视频一区二区在线| 国产内射一级一片内射高清视频 | 女同伦理国产精品久久久| 在线免费视频你懂的观看| 国产目拍亚洲精品区一区| 日韩美成人免费在线视频| 精品久久综合日本欧美| 美女露小粉嫩91精品久久久| 在线免费视频你懂的观看| 正在播放国产又粗又长| 99久久精品视频一区二区| 国产91人妻精品一区二区三区| 国产精品免费视频专区| 欧美激情区一区二区三区| 性欧美唯美尤物另类视频| 久久这里只精品免费福利| 精品国产丝袜一区二区| 色婷婷中文字幕在线视频| 人妻少妇av中文字幕乱码高清| 五月婷日韩中文字幕四虎| 国产精品欧美一区二区三区| 国产av精品一区二区| 91精品视频免费播放| 国产亚洲欧美日韩国亚语| 偷自拍亚洲欧美一区二页| 日韩人妻免费视频一专区 | 国产欧美一区二区另类精品| 国产精品久久久久久久久久久痴汉| 亚洲国产综合久久天堂| 极品熟女一区二区三区| 久久夜色精品国产高清不卡| 精品人妻一区二区三区四在线|