2021/10/23 Python 创建进度条

       在某些如爬虫等程序运行时,所需要的时间往往比较多,这时候我们就迫切需要知道程序运行的进度,以此对时间有一定的把握,进度条的作用就能在这里彰显了,步骤如下:

  1.导入库函数sys:

import sys

   2.定义一个进度条函数:

    @staticmethod
    def get_progress_bar(progress):
        MAX_LEN = 50
        len = int(MAX_LEN * progress)
        return ('Progress:[' + '=' * len +
                ('>' if len < MAX_LEN else '') +
                ' ' * (MAX_LEN - len) +
                '] %.1f%%' % (progress * 100.))

   MAX_LEN是进度条总长度,len展现的是当前进度,效果如下:

Progress:[>                                                  ] 0.0%

        ……

Progress:[==========>                                        ] 20.0%

        ……

Progress:[===================================================] 100.0%  

3.显示进度条:

count = 0

    ……

    count = count + 1
    sys.stderr.write('\r\033[K' + self.get_progress_bar(count / (self.C * dH * dW)))
    sys.stderr.flush()

以图像处理为例:self.C * dH * dW是一共要处理的像素数据,在进程中每处理一个数据count便会加1,进度参数便会传递给进度条函数。

sys.stderr.write():错误标准输出,打印到屏幕,不会主动加上任何结尾。实际上它是一种“假错误”,我们要利用它输出此时的进度,且伴随着进度的变化前一次的输出会被新输出代替即只能打印一个str

sys.stderr.flush():显式地让缓存区的信息输出(貌似加不加效果都一样)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值