当前位置: 首页 > 工具软件 > Tqdm > 使用案例 >

【Python】tqdm 介绍与使用

阴高刚
2023-12-01


一、tqdm 简介

tqdm 是一个快速,可扩展的 Python 进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器: tqdm(iterator)。


二、tqdm 使用

1. 基于迭代对象运行: tqdm(iterator)

import time
from tqdm import tqdm

for i in tqdm(range(100)):
     #do something
     time.sleep(0.01)

输出结果:

100%|█████████████████████████████████████████| 100/100 [00:01<00:00, 98.27it/s]

显示描述信息:

import time
from tqdm import tqdm

for i in tqdm(range(100), desc='Processing'):
    time.sleep(0.05)

输出结果:

Processing: 100%|█████████████████████████████| 100/100 [00:05<00:00, 19.87it/s]

2. tqdm(list)

tqdm(list) 方法可以传入任意一种list,比如string数组:

import time
from tqdm import tqdm

for char in tqdm(["a", "b", "c", "d"]):
     #do something
     time.sleep(0.08)

输出结果:

100%|█████████████████████████████████████████████| 4/4 [00:00<00:00, 12.47it/s]

在for循环外部初始化 tqdm,可以打印其他信息:

import time
from tqdm import tqdm


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

输出结果:

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

3. trange(i)

trange(i) 是 tqdm(range(i)) 的简单写法:

import time
from tqdm import trange

for i in trange(100):
     #do something
     time.sleep(0.02)

输出结果:

100%|█████████████████████████████████████████| 100/100 [00:02<00:00, 49.33it/s]

4. 手动更新

手动设置每次更新的步长:

import time
from tqdm import tqdm

with tqdm(total=200) as pbar:
    pbar.set_description('Processing')
    # 手动设置:每次更新10个进度,一共更新20次,总共更新total:200
    for i in range(20):
         # 进行动作, 这里是过0.1s
         time.sleep(0.1)
         # 进行进度更新, 这里设置10个
         pbar.update(10)

输出结果:

Processing: 100%|█████████████████████████████| 200/200 [00:02<00:00, 99.57it/s]

参考链接

  1. tqdm介绍及常用方法
  2. python进度条库tqdm详解
 类似资料: