资讯专栏INFORMATION COLUMN

万能的Python,还能用来制作高大上的进度条?

XBaron / 2658人阅读

摘要:对于开发或者运维来说,使用去完成一些跑批任务,或者做一些监控事件是非常正常的情况。

对于开发或者运维来说,使用Python去完成一些跑批任务,或者做一些监控事件是非常正常的情况。那么如何有效的监控任务的进度,除了在任务中加上log外,还能不能有另一种方式来了解任务进展到哪一步了呢?

这就是今天我们来了解的内容,进度条

1. 标准输出

首先说一下在操作系统中,都有哪些控制符:

r: 将光标移动到当前行的首位而不换行;

n:将光标移动到下一行,并不移动到首位;

rn:将光标移动到下一行首位。

那让我们来看下如何通过python来将标准输出中添加进度条吧

import sys
import time

def progress_bar(total):
   """
   进度条效果
   """
   # 获取标准输出
   _output = sys.stdout
   # 通过参数决定你的进度条总量是多少
   for count in range(0, total + 1):
       # 这里的second只是作为工作量的一种代替
       # 这里应该是有你的主程序,main()
       _second = 0.1
       # 模拟业务的消耗时间
       time.sleep(_second)
       # 输出进度条
       _output.write(f"
complete percent:{count:.0f}")
   # 将标准输出一次性刷新
   _output.flush()

progress_bar(100)

来看下实际效果,这里我录了一段gif

2. tqdm模块

tqdm是一个快速、扩展性强的进度条工具库,它提供了非常多的接口,有兴趣的小伙伴可以了解一下。githup地址是: https://github.com/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专栏」,后台回复:进度条,获取整套源代码!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43389.html

相关文章

  • 首次公开,整理12年积累博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • 推荐一个高大网易云音乐命令行播放工具:musicbox

    摘要:网易云音乐上有很多适合程序猿的歌单,但是今天文章介绍的不是这些适合程序员工作时听的歌,而是一个用开发的开源播放器,专门适用于网易云音乐的播放。 网易云音乐上有很多适合程序猿的歌单,但是今天文章介绍的不是这些适合程序员工作时听的歌,而是一个用Python开发的开源播放器,专门适用于网易云音乐的播放。这个播放器的名称为MusicBox, 特色是用命令行版本执行音乐的播放。 github地址...

    PAMPANG 评论0 收藏0
  • 一款产品从0到1之旅

    摘要:从到打造一款产品是一种什么样的体验为了回答这种知乎范的问题,让我来介绍下我是如何打造交易日记这款的过程。社会对群体聚集进行生产产品的模式需求在降低。这在接下来的部分我会介绍我如何在三个月内完成一款产品从到的过程。 从0到1打造一款产品是一种什么样的体验?为了回答这种知乎范的问题,让我来介绍下我是如何打造交易日记这款App的过程。需要提前说明的是整款iOS APP的全部工作都是我一个人完...

    _ivan 评论0 收藏0
  • 一款产品从0到1之旅

    摘要:从到打造一款产品是一种什么样的体验为了回答这种知乎范的问题,让我来介绍下我是如何打造交易日记这款的过程。社会对群体聚集进行生产产品的模式需求在降低。这在接下来的部分我会介绍我如何在三个月内完成一款产品从到的过程。 从0到1打造一款产品是一种什么样的体验?为了回答这种知乎范的问题,让我来介绍下我是如何打造交易日记这款App的过程。需要提前说明的是整款iOS APP的全部工作都是我一个人完...

    wangdai 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<