普通方式#
在Python中,可以通过简单的循环和打印语句来显示进度条。例如:
import time
import sys
def progress_bar(current, total, bar_length=50):
percent = current / total
arrow = '=' * int(percent * bar_length)
spaces = ' ' * (bar_length - len(arrow))
sys.stdout.write(f"\r[{arrow}{spaces}] {int(percent * 100)}%")
sys.stdout.flush()
# 测试进度条
for i in range(101):
progress_bar(i, 100)
time.sleep(0.1)
print("\n完成!")python使用tqdm库#
tqdm 是一个非常流行的Python库,用于在长时间运行的循环中显示进度条。它使用起来非常简单,只需将可迭代对象传递给 tqdm 即可。例如:
from tqdm import tqdm
import time
for i in tqdm(range(200)):
time.sleep(0.1)
print("完成!")pythontqdm 还支持多种功能,如自定义描述、动态调整进度条长度等。例如:
from tqdm import tqdm
import time
for i in tqdm(
range(100),
desc="处理进度", # 自定义描述
ncols=70, # 进度条宽度
bar_format="{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]",
total=100, # 总数
unit="it", # 单位
leave=True, # 结束后保留进度条
disable=False, # 是否禁用进度条
):
time.sleep(0.1)
print("完成!")pythonbar_format 参数详解
{l_bar}: 左侧的标签部分,包括描述和百分比{bar}: 进度条本身{n_fmt}: 当前进度数值{total_fmt}: 总进度数值{elapsed}: 已消耗时间{remaining}: 剩余时间