time库的使用-文本进度条的实现

文本进度条的动态刷新实际是在同一个位置一直进行覆盖输出,所以可以用\r使光标回到行首进行覆盖输出即可。

代码参考:

import time
scale = 50
print("执行开始".center(scale//2, '-'))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale)*100
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur),end = '')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2, '-'))

注释:
1、.center()函数用来填充居中后的空格
2、end=’'表示不换行
3、python自带的idle会屏蔽掉\r,会一个接一个输出,不会实现动态刷新。用cmd即可;

执行效果:

在这里插入图片描述

你可能感兴趣的:(Python)