本文将简单介绍python基于协程多任务的单行进度条显示的方法,通过多任务的方法,我们可以简单的给自己的目标函数加上进度条
import time
import sys # while循环需要带异常处理
def progress(): # 显示进度条的函数
for pro in range(50 + 1):
block = '■' * pro
space = ' ' * (50 - pro)
rate = (pro / 50) * 100
print(f"\r{rate:.0f}% |{block}{space}| ", end=' ')
yield # 把当前函数执行状态挂起,方便下次回来执行事会继续之前的状态向下执行
def test(): # 需要进度条显示的函数 可以把它看成进度条的延时函数
for i in range(50 + 1): # 这里为了方便我直接写了一个延时程序
time.sleep(0.1) # 这里可以改成需要进度条的耗时函数
yield # 把当前函数执行状态挂起,方便下次回来执行事会继续之前的状态向下执行
t1 = progress()
t2 = test()
print("\033[0;36m--------执行开始--------\n") # 这里我用了改变颜色,具体格式为 开头“\033[1;36m” 需要改变颜色的字符串 “\033[0m”结尾 开头结尾可不在一个print里面
while True:
try: # 这里需要用到异常捕捉来捕捉 StopIteration 异常并处理了
next(t1)
next(t2)
except StopIteration:
print("\n\n--------执行结束--------\033[0m")
sys.exit()
以上就是今天要讲的内容,介绍了python基于协程多任务的单行进度条显示的方法,通过多任务的方法,我们可以简单的给自己的目标函数加上进度条。关于输出颜色的设置在我的该专栏下另有介绍,需要的可以去看下!