python小实例——动态文本进度条

有点东西,普通实例不喜欢写XD

如何实现动态单行刷新,答案是——覆盖
但是怎么实现覆盖呢
关键在于不换行而且能回退到开始位置


那么就要用到 \r
这个东西就是让光标回退到当前行初始位置

记得不能让换行


上码

#文本进度条.py
import time
scale = 50
print("执行开始".center(scale, "-"))//居中对齐
start = time.perf_counter()//获取起始时间
for i in range(scale+1):
    a = i*'*'
    b = (scale-i)*'.'
    c = (i/scale)*100
    dur = time.perf_counter()//每次获取当前时间
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='')//输出百分比,图形进度以及当前所用的时间,控制end为空使得不用换行
    time.sleep(0.1)
print('\n'+"结束执行".center(scale, '-'))

 运行效果:

发布了99 篇原创文章 · 获赞 21 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43721423/article/details/104050237