用Python语言巧妙的实现进度条

在这里插入图片描述
前言
  对于开发或者运维来说,使用Python去完成一些跑批任务,或者做一些监控事件是非常正常的情况。那么如何有效的监控任务的进度,除了在任务中加上log外,还能不能有另一种方式来了解任务进展到哪一步了呢?
  这就是今天我们来了解的内容,进度条。
正文

  1. 标准输出
      首先说一下在操作系统中,都有哪些控制符:
      \r: 将光标移动到当前行的首位而不换行;
      \n:将光标移动到下一行,并不移动到首位;
      \r\n:将光标移动到下一行首位。
      那让我们来看下如何通过python来将标准输出中添加进度条吧。
    import sys
    import timedef progress_bar(total):
    “”"
    进度条效果
    “”"

    获取标准输出

    _output = sys.stdout

    通过参数决定你的进度条总量是多少

    for count in range(0, total + 1):
    # 这里的second只是作为工作量的一种代替
    # 这里应该是有你的主程序,main()
    _second = 0.1
    # 模拟业务的消耗时间
    time.sleep(_second)
    # 输出进度条
    _output.write(f’\rcomplete percent:{count:.0f}’)

    将标准输出一次性刷新

    _output.flush()progress_bar(100)
      来看下实际效果,这里我录了一段gif
      在这里插入图片描述
      2. tqdm模块
      tqdm是一个快速、扩展性强的进度条工具库,它提供了非常多的接口,有兴趣的小伙伴可以了解一下。
      我们来看下,如何使用tqdm模块来实现进度条
      a. 首先是安装,非常简单  pip install tqdm  b. 接下来就是操作啦  from time import sleep
      from tqdm import tqdm
      # 这里同样的,tqdm就是这个进度条最常用的一个方法
      # 里面存一个可迭代对象
      for i in tqdm(range(1, 500)):
       # 模拟你的任务
       sleep(0.01)  是不是看到这里发现,tqdm非常的简单呢?
      这只是一个例子啦,他也可以非常的复杂,同时你也支持多线程、多进程,还有pandas哦~来一个多进程的感受下吧~
      在这里插入图片描述
      结尾
      通过本文的讲解是不是感觉Python挺神奇的,那么小伙伴们抓紧学习吧。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值