如何实现动态单行刷新,答案是:覆盖
但是怎么实现覆盖呢?
关键在于不换行而且能回退到开始位置
那么就要用到 \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, '-'))
运行效果:
原文链接:https://blog.csdn.net/weixin_43721423/article/details/104050237