Python基础——自动刷新文本进度条

注意:由于IDLE屏蔽了“\r”,所以无法实现光标回退,不能显示刷新效果,程序可在Spyder中运行。

#基本文本进度条框架
import time
scale = 10
print("{0:-^20}".format("执行开始"))
for i in range(scale + 1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale) * 100
    print("\r{:^3.0f}%{}->{}".format(c,a,b),end="")
    time.sleep(0.5)
print("")
print("{0:-^20}".format("执行结束"))


IDLE运行效果:
在这里插入图片描述

Spyder运行效果:
Python基础——自动刷新文本进度条_第1张图片

#文本进度条
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基础——自动刷新文本进度条_第2张图片

你可能感兴趣的:(Python,python,pycharm)