Python的Tqdm模塊——進度條配置

原文鏈接:https://blog.csdn.net/qq_33472765/article/details/82940843

版權聲明:請大家使用時記得顯示原創的博主哦!!                        https://blog.csdn.net/qq_33472765/article/details/82940843                    
                                                    
                                        
                
                                            tqdm官網地址:https://pypi.org/project/tqdm/

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

簡介

       Tqdm 是一個快速,可擴展的Python進度條,可以在 Python 長循環中添加一個進度提示信息,用戶只需要封裝任意的迭代器 tqdm(iterator)。

       總之,它是用來顯示進度條的,很漂亮,使用很直觀(在循環體裏邊加個tqdm),而且基本不影響原程序效率。名副其實的“太強太美”了!這樣在寫運行時間很長的程序時,是該多麼舒服啊!

給一張GIF圖看一下實際效果

 

安裝

pip install tqdm

 使用

示例一

簡單的demo:

# !/user/bin/env python# -*- coding:utf-8 -*-  import timefrom tqdm import tqdmfrom tqdm._tqdm import trange for i in tqdm(range(100)):    time.sleep(0.01)

輸出結果如下:

 

關於tqdm對於range的封裝

import timefrom tqdm import tqdmfrom tqdm._tqdm import trange for j in trange(100):    time.sleep(0.1)

輸出結果如下(同上)

 

 

示例二: 

對於任意list的使用

alist = list('letters')bar = tqdm(alist)for letter in bar:    bar.set_description(f"Now get {letter}")

輸出結果如下:

 

傳入任意list

    pbar = tqdm(["a", "b", "c", "d"])    for char in pbar:        pbar.set_description("Processing %s" % char)

手動控制更新

with tqdm(total=100) as pbar:    for i in range(10):        pbar.update(10)  # 也可以這樣pbar = tqdm(total=100)for i in range(10):    pbar.update(10)pbar.close()

 

示例三:

結合pandas的使用

import  pandas as pdimport numpy as  np df = pd.DataFrame(np.random.randint(0, 100, (10000000, 6)))tqdm.pandas(desc="my bar!")df.progress_apply(lambda x: x**2)

 輸出結果如下:

 

 

示例四

在Shell的tqdm用法

$ time find . -name '*.py' -exec cat \{} \; | wc -l857365  real    0m3.458suser    0m0.274ssys     0m3.325s  $ time find . -name '*.py' -exec cat \{} \; | tqdm | wc -l857366it [00:03, 246471.31it/s]857365 real    0m3.585suser    0m0.862ssys     0m3.358s

 

使用的參數:

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

 備份一個目錄:

$ 7z a -bd -r backup.7z docs/ | grep Compressing |    tqdm --total $(find docs/ -type f | wc -l) --unit files >> backup.log100%|███████████████████████████████▉| 8014/8014 [01:37<00:00, 82.29files/s]

 本文參考:https://blog.csdn.net/langb2014/article/details/54798823?locationnum=8&fps=1
--------------------- 
作者:MXuDong 
來源:CSDN 
原文:https://blog.csdn.net/qq_33472765/article/details/82940843 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章