用Python給代碼安個進度條,太香了吧
相信大家對進度條一定不陌生了,比如在我們安裝python庫的時候可以看到下載的進度條,此外在下載文件時也可以看到類似的進度條
比如下圖這種:小小進度條也是有大大夢想的~~
用一個炫酷的進度條,來觀察處理進度,也可以及時了解程序運行的情況,此外還可以用于顯示時間,并告訴用戶當前任務的執行進展。做到心中有數。
今天和大家分享一個進度條可視化庫,它的名字叫做 tqdm ,可以幫助我們監測程序運行的進度,用戶只需要封裝可迭代對象即可
安裝
我們使用 pip 直接進行安裝:
- pip install tqdm

檢測
使用命令'pip show tqdm'檢是否成功安裝:
- Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
- Collecting tqdm
- Downloading https://pypi.tuna.tsinghua.edu.cn/packages/63/f3/b7a1b8e40fd1bd049a34566eb353527bb9b8e9b98f8b6cf803bb64d8ce95/tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
- |████████████████████████████████| 76 kB 1.2 MB/s
- Requirement already satisfied: colorama in e:\anaconda\lib\site-packages (from tqdm) (0.3.9)
- Installing collected packages: tqdm
- Successfully installed tqdm-4.62.3
- C:\Users\57060>pip show tqdm
- Name: tqdm
- Version: 4.62.3
- Summary: Fast, Extensible Progress Meter
- Home-page: https://tqdm.github.io
- Author:
- Author-email:
- License: MPLv2.0, MIT Licences
- Location: e:\anaconda\lib\site-packages
- Requires: colorama
- Required-by: conda-build
使用
tqdm 主要參數可選參數眾多,我們先看一下常用的一些參數。
主要參數
- iterable: 可迭代的對象, 在手動更新時不需要進行設置
- desc: str, 左邊進度條的描述性文字
-
total: 總的項目數
-
leave: bool, 執行完成后是否保留進度條
-
file: 輸出指向位置, 默認是終端, 一般不需要設置
-
ncols: 調整進度條寬度, 默認是根據環境自動調節長度, 如果設置為0, 就沒有進度條, 只有輸出的信息
-
unit: 描述處理項目的文字, 默認是’it’, 例如: 100 it/s, 處理照片的話設置為’img’ ,則為 100 img/s
-
unit_scale: 自動根據國際標準進行項目處理速度單位的換算, 例如 100000 it/s >> 100k it/s
-
colour: 進度條顏色,例如:‘green’, ‘#00ff00’。
示例
直接將可迭代對象傳入 tqdm()。

或者直接使用range函數來代替。

這里面的 tqdm(range()) 我們也可以用 tqdm 提供的 trange() 來代替,可以簡化代碼。

我們還可以使用 set_description() 在進度條前面添加描述性內容,讓其看起來更加的人性化。

除此之外,我們還可以使用update函數自定進度條比例,例如我們將100進度任務分為4次進度展示。

自定義進度條顏色
我們使用 color = 'pink' 來顯示進度條顏色

多重進度條
接下來,我們來演示一下多重循環的進度條。
- for i in trange(3, colour='pink', desc='outer loop'):
- for i in trange(100, colour = 'green', desc='inner loop', leave=False):
- sleep(0.01)

這里我用兩層 for 循環實現了嵌套,并且將內層的 參數 leave 設置為 False ,意思是內層的進度條每執行一次都會消失。并且給內循環設置綠色,外循環設置粉色。
我們來看看最終運行的效果:

總結
tqdm的使用方法是不是很簡單,幾行代碼就能為我們的程序增色不少。心動不如行動,趕快用起來吧!