python练习-文本进度条单行动态刷新

print执行语句之后,光标不跳到下一行,用'\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,"-"))

你可能感兴趣的:(python)