Tqdm 是 Python 進度條庫,能夠在 Python 長循環中添加一個進度提示信息。用戶只須要封裝任意的迭代器,是一個快速、擴展性強的進度條工具庫。python
用法:tqdm(iterator)
git
pip install tqdm
import time from tqdm import * for i in tqdm(range(1000)): time.sleep(.01) #進度條每0.1s前進一次,總時間爲1000*0.1=100s
100%|██████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:10<00:00, 93.97it/s]
trange
trange(i)
是 tqdm(range(i))
的簡單寫法github
from tqdm import trange for i in trange(100): #do something pass
100%|█████████████████████████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 99344.01it/s]
在 for
循環外部初始化 tqdm
,能夠打印其餘信息:工具
import time from tqdm import tqdm pbar = tqdm(["a", "b", "c", "d"]) for char in pbar: # 設置描述 pbar.set_description("Processing %s" % char) time.sleep(1)
Processing d: 100%|██████████████████████████████████████████████████████████████████████| 4/4 [00:04<00:00, 1.00s/it]
手動控制進度:code
import time from tqdm import tqdm # 一共200個,每次更新10,一共更新20次 with tqdm(total=200) as pbar: for i in range(20): pbar.update(10) time.sleep(0.1)
100%|████████████████████████████████████████████████████████████████████████████████| 200/200 [00:01<00:00, 98.87it/s]
bar = trange(10) for i in bar: time.sleep(0.1) if not (i % 3): tqdm.write("Done task %i" % i)
Done task 0 0%| | 0/10 [00:10<?, ?it/s] 0%| | 0/10 [00:00<?, ?it/s] 10%|████████▎ | 1/10 [00:00<00:01, 8.77it/s] 20%|████████████████▌ | 2/10 [00:00<00:00, 9.22it/s] Done task 3 0%| | 0/10 [00:10<?, ?it/s] 30%|████████████████████████▉ | 3/10 [00:00<00:01, 6.91it/s] 40%|█████████████████████████████████▏ | 4/10 [00:00<00:00, 9.17it/s] 50%|█████████████████████████████████████████▌ | 5/10 [00:00<00:00, 9.28it/s] Done task 6 0%| | 0/10 [00:10<?, ?it/s] 60%|█████████████████████████████████████████████████▊ | 6/10 [00:00<00:00, 7.97it/s] 70%|██████████████████████████████████████████████████████████ | 7/10 [00:00<00:00, 9.25it/s] 80%|██████████████████████████████████████████████████████████████████▍ | 8/10 [00:00<00:00, 9.31it/s] Done task 9 0%| | 0/10 [00:11<?, ?it/s] 90%|██████████████████████████████████████████████████████████████████████████▋ | 9/10 [00:01<00:00, 8.37it/s] 100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 9.28it/s]