如何实现动态单行刷新,答案是——覆盖
但是怎么实现覆盖呢
关键在于不换行而且能回退到开始位置
那么就要用到 \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