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基于协程多任务的单行进度条显示的方法,通过多任务的方法,我们可以简单的给自己的目标函数加上进度条。关于输出颜色的设置在我的该专栏下另有介绍,需要的可以去看下!

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

"Martix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值