Python单行进度条显示

 前言

        本文将简单介绍python基于协程多任务的单行进度条显示的方法,通过多任务的方法,我们可以简单的给自己的目标函数加上进度条


操作方法

1、具体代码

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()

2.效果图

9aa4353509cf446b9c5c212603b90004.gif 

总结
      

         以上就是今天要讲的内容,介绍了python基于协程多任务的单行进度条显示的方法,通过多任务的方法,我们可以简单的给自己的目标函数加上进度条。关于输出颜色的设置在我的该专栏下另有介绍,需要的可以去看下!

猜你喜欢

转载自blog.csdn.net/weixin_45694843/article/details/124448086