Python的文本进度条

1、简单的开始
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.0f指输出前三位的整数,“.”后面是指你要保留多少位的小数点。
time.sleep(0.1)
print(“——执行结束——”)

2、单行动态刷新
for i in range(101):
print(“\r{:3}%”.format(i), end=”“)
# \r是指在打印输出字符串之前,它能使光标退回到当前行的行首。
# 意思就是把原来打印出来的字符串替换成之后打印出来的字符串,从而实现动态的效果(只在一行中打印)。
# 如果我们希望在输出字符串中增加什么信息,我们就在end中增加。
time.sleep(0.1)

3、完整效果文本记录条
import time

scale = 50 # 我们文本进度条大概的宽度
print(“执行开始”.center(scale//2, “-“))

center()方法,将减号字符填充在执行开始或执行结束的两侧

start = time.perf_counter()# 确定开始时间
for i in range(scale+1):
a = ‘ i
b = ‘.’ * (scale - i)
c = (i/scale) * 100 # 输出与当前进度条相关的百分比

dur = time.perf_counter() - start
# 记录每次程序所调用的时间,调用一次perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end="")
# ^3.0f指输出前三位的整数,“.”后面是指你要保留多少位的小数点。
time.sleep(0.1)

print(“\n”+”执行结束”.center(scale//2, “-“))

你可能感兴趣的:(Python的文本进度条)