Background

Python学习:显示进度条

292 字
2 分钟

普通方式#

在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完成!")

使用tqdm库#

tqdm 是一个非常流行的Python库,用于在长时间运行的循环中显示进度条。它使用起来非常简单,只需将可迭代对象传递给 tqdm 即可。例如:

from tqdm import tqdm
import time
for i in tqdm(range(200)):
time.sleep(0.1)
print("完成!")

tqdm 还支持多种功能,如自定义描述、动态调整进度条长度等。例如:

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("完成!")

bar_format 参数详解

  • {l_bar}: 左侧的标签部分,包括描述和百分比
  • {bar}: 进度条本身
  • {n_fmt}: 当前进度数值
  • {total_fmt}: 总进度数值
  • {elapsed}: 已消耗时间
  • {remaining}: 剩余时间
Python学习:显示进度条
https://rinne05.top/blog/technology/python-notes/tqdm/
作者
发布于
11/2/2025
许可协议
CC BY-NC-SA 4.0

主题设置

主题模式
主题色
透明度
模糊
© 2026 霖 采用 CC BY-NC-SA 4.0 许可 RSS
公安网安备案图标 公安网安备案号: 豫公网安备41040202000294号 ICP备案号: 豫ICP备2025156598号-1
输入以搜索...
通过 Fuse.js 搜索