涉及到time库的调用和字符串格式化
基本代码
from time import*
scale = 10
print("{:-^20}".format("执行开始"))
for i in range(scale+1):
a='*'*i
# 已有进度
b='.'*(scale-i)
# 未加载进度
c=(i/scale)*100
# 进度百分比
print("{:^4.0f}%[{}{}]".format(c,a,b))
sleep(1)
# 休眠一秒
print("{:-^20}".format("执行结束"))
效果为
单行刷新
如果想要实现单行刷新,增加 \r,\n end
代码如下
from time import*
scale = 10
print("{:-^20}".format("执行开始"))
for i in range(scale+1):
a='*'*i
# 已有进度
b='.'*(scale-i)
# 未加载进度
c=(i/scale)*100
# 进度百分比
print("\r{:^4.0f}%[{}{}]".format(c,a,b),end = "")
# end实现不换行,\r实现退回行首打印新信息
sleep(1)
# 休眠一秒
print("\n{:-^20}".format("执行结束"))
# \n实现最后一句话换行
效果如下
增加计时功能
from time import*
scale = 10
print("{:-^20}".format("执行开始"))
start = perf_counter()
# 开始计时
for i in range(scale+1):
a='*'*i
# 已有进度
b='.'*(scale-i)
# 未加载进度
c=(i/scale)*100
# 进度百分比
gap = perf_counter()-start
# 获取进度时间
print("\r{:^4.0f}%[{}{}]{:.3f}s".format(c,a,b,gap),end = "")
# end实现不换行,\r实现退回行首打印新信息
sleep(0.2)
# 休眠一秒
print("\n{:-^20}".format("执行结束"))
# \n实现最后一句话换行
效果如下