关注我,学习更多实用Python知识
🌼Hi,小伙伴们~
🛠️进度条:不仅能直观展示任务处理进程,更能带来流畅的操作体验,尤其是在使用for循环处理复杂计算或大规模数据时
🎯今天分享如何只用几行代码,手撸一个简洁又实用的命令行进度条!

import timedef simple_progress_bar(total=100, delay=0.05):for i in range(total + 1):# 第①步:计算完成百分比 percent = int(100 * i / total)# ② 绘制进度条:已完成部分用“>”,未完成部分用空格 bar = ">" * (percent // 2) + " " * (50 - percent // 2)# ③ 动态输出进度,保障在同一行print(f"\r[{bar}] {percent}%", end="", flush=True) time.sleep(delay)✅核心三步: 计算百分比 → 绘制图形条 → 动态输出

1️⃣动态刷新: 利用 \r(回车符)将光标移回行首,覆盖前一次输出,实现“原地更新”的效果
2️⃣进度条绘制: 进度条固定宽度为 50 个字符,每个 > 代表 2% 的进度,空格表示未完成部分
3️⃣完整进度覆盖: 使用 range(total + 1) 确保从 0% 到 100% 全过程展示,避免进度缺失
i=0 → [ ] 0%i=1 → [>>>>>>>>>>>> ] 25%i=2 → [>>>>>>>>>>>>>>>>>>>>>>>>> ] 50%i=3 → [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ] 75%i=4 → [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 100%✅这样就能在命令行中看到一个动态增长的进度条效果
def file_operation_progress(filename="output.txt", total=100, delay=0.03): with open(filename, "w", encoding="utf-8") as f:for i in range(1, total + 1):# 实际文件写入操作 data = f"第 {i} 行数据: " + "x" * (i % 20) + "\n" f.write(data)# 进度条显示 percent = int(100 * i / total) bar = ">" * (percent // 2) + " " * (50 - percent // 2)print(f"\r[{bar}] {percent}% 已写入 {i} 行...", end="", flush=True)# 模拟写入耗时 time.sleep(delay)print(f"\n文件写入完成!共 {total} 行")
💡 关注我,每周分享更多 Python 干货与实用小工具
📌 如果这篇文章对你有帮助,欢迎:
👍 点赞、⭐ 收藏、🔄 分享
给身边正在学 Python 的朋友吧!


👇点击阅读往期文章