【Python】文本进度条

1.0代码:

import time#引入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))
    time.sleep(0.1)#间隔相同时间执行程序
print("------执行结束------")

结果:

2.0代码(单行动态刷新):

 代码(IDLE中可能不能运行,我是在Visual Studio 2019运行的):

import time#引入time库
for i in range(101):
    print("\r{:3}%".format(i),end="")#"\r"使光标退会到当前行的行首,"end="使print函数输出不换行"
    time.sleep(0.1)

结果:从0%输出到100%

 完整效果:

代码:

import time#引入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="")#dur用来记录打印文本进度条所消耗的时间
    time.sleep(0.1)#间隔相同时间执行程序
print("\n"+"执行结束".center(scale//2,"-"))

结果(Visual Studio 2019):

猜你喜欢

转载自www.cnblogs.com/HGNET/p/12114822.html