一个 Python 的进度条库。

基础用法

tqdm 包裹一个可迭代对象即可:

from tqdm import tqdm
import time
 
# 模拟一个耗时任务
for i in tqdm(range(100)):
    time.sleep(0.1)

或者也可以用 trange

from tqdm import trange
import time
 
# 模拟一个耗时任务
for i in trange(100):
    time.sleep(0.1)

核心参数

参数说明示例
desc进度条左侧的描述文字desc="Loading Data"
total迭代总次数(无法自动识别长度时手动指定)total=500
unit进度单位unit="it"unit="B"
ncols整个进度条的宽度ncols=80
postfix动态更新进度条右侧的字典信息postfix={"loss": 0.5}

其他

避免在循环中直接使用 print ,而是改用 tqdm.write

动态更新末尾信息:

from tqdm import trange
import time
 
pbar = trange(100, desc='Training', ncols=100)
for i in pbar:
    time.sleep(0.1)
    loss = 1 / (i + 1)
    pbar.set_postfix(loss=loss)