Python学习:显示进度条
292 字
2 分钟
在Python中,可以通过简单的循环和打印语句来显示进度条。例如:
import timeimport 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完成!")tqdm 是一个非常流行的Python库,用于在长时间运行的循环中显示进度条。它使用起来非常简单,只需将可迭代对象传递给 tqdm 即可。例如:
from tqdm import tqdmimport time
for i in tqdm(range(200)): time.sleep(0.1)print("完成!")tqdm 还支持多种功能,如自定义描述、动态调整进度条长度等。例如:
from tqdm import tqdmimport 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("完成!")bar_format 参数详解
{l_bar}: 左侧的标签部分,包括描述和百分比{bar}: 进度条本身{n_fmt}: 当前进度数值{total_fmt}: 总进度数值{elapsed}: 已消耗时间{remaining}: 剩余时间