运行时间较长的程序时,需要实时反馈程序执行进度,进度条的方式比打印数字更直观,可以提供更好的可视化反馈。
方式1:tqdm
安装
pip install tqdm
导入tqdm
库
from tqdm import tqdm
封装可迭代对象
封装方式:tqdm(iterator)
pbar = tqdm(["a", "b", "c", "d"])
for char in pbar:
sleep(0.25)
pbar.set_description("Processing %s" % char)
或者:
idx = ["a", "b", "c", "d"]
for char in tqdm(idx):
sleep(0.25)
pbar.set_description("Processing %s" % char)
实例化进度条对象
初始化
在循环前创建一个tqdm
对象,并指定迭代的总长度:
total_iterations = 100 # 总迭代次数
progress_bar = tqdm(total=total_iterations)
更新进度条
在迭代步更新进度条:
for i in range(total_iterations):
# 执行循环操作
# ...
# 更新进度条
progress_bar.update(1)
在每次循环迭代时,调用progress_bar.update(1)来更新进度条。可以根据实际情况调整参数,比如每次迭代更新的步长。
关闭进度条
在循环结束后关闭进度条:
progress_bar.close()
上下文形式调用进度条对象
不需要手动关闭进度条。
total_iterations = 100 # 总迭代次数
step = 100/ total_iterations
with tqdm(total=total_iterations) as progress_bar:
for i in range(total_iterations):
# 执行循环操作
# ...
# 更新进度条
#progress_bar.update(1)
progress_bar.update(step) # 可根据迭代数修改步长