这是一个命令行动态进度条程序,运行时会在屏幕上打印一条不断刷新的文本进度条,并配有百分比。
程序源码:
#简单的进度条设计 import time scale = 10 print("----------程序执行开始----------") for i in range(scale + 1): a , b = '**' * i , '..' * (scale - i) c = (i / scale) * 100 print("%{:^3.0f}[{}->{}]".format(c , a , b)) time.sleep(0.4) print("----------程序执行结束----------")运行结果:
(实际运行时每行间隔 0.4 秒逐条打印出来)
核心思想:
比例映射:用 i 同时控制三个东西——星号数量、点号数量、百分比数值,保证三者始终一致
定宽对齐:a 增加多少,b 就减少多少,进度条总长固定不抖动
格式化对齐:{:^3.0f} 让百分比数字居中占 3 格,避免 0%、50%、100% 长度不同导致的错位
这是 Python 教材(如嵩天《Python语言程序设计》)中的经典示例。实际工程中还可以把 print 换成 print(..., end="\r") 并使用 flush=True,让进度条在同一行原地刷新,效果更接近真实的下载进度条。