一样一行的换行打印进度条。
import time
scale = 10 #打印的字符宽度
print("------执行开始------")
for i in range(scale + 1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale) * 100
print("{:^3.0f}%[{}->{}]".format(c,a,b)) #居中对齐,宽度为3,精度为.0 ,类型为浮点型。
time.sleep(0.2) #执行完一次打印,等待的时间。
print("------执行结束------")
在一行改变进度条的数值,不换行。
#'\r'是回车,使光标打印前移到行首。
# ,end="" 为末尾end传递一个空字符串(也可以为其他字符),是print函数的一个参数。
# 这样print函数不会在字符串末尾默认添加一个换行符,而是添加一个空字符串。
for i in range(101):
print("\r{:3}%".format(i),end="")
time.sleep(0.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="") # 居中对齐,宽度为3,精度为.0 ,类型为浮点型。
time.sleep(0.1) # 执行完一次打印,等待的时间。
print("\n" + "执行结束".center(scale//2,"-"))