如何实现动态单行刷新,答案是——覆盖
但是怎么实现覆盖呢
关键在于不换行而且能回退到开始位置
那么就要用到 \r
这个东西就是让光标回退到当前行初始位置
记得不能让换行
上码
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#文本进度条.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, '-' ))
|
运行效果:
总结
以上所述是小编给大家介绍的python动态文本进度条的实例代码,希望对大家有所帮助!
原文链接:https://blog.csdn.net/weixin_43721423/article/details/104050237