Python开发,制作高大上的进度条,几行代码就搞定了?

![?/upload-images.jianshu.io/upload_images/18829896-2291c22a8e734e04.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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

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

1. 标准输出

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

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

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

\r\n:将光标移动到下一行首位。

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

在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好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'\rcomplete percent:{count:.0f}')
   # 将标准输出一次性刷新
   _output.flush()

progress_bar(100)

来看下实际效果,这里我录了一段gif
Python开发,制作高大上的进度条,几行代码就搞定了?_第1张图片

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非常的简单呢?

如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

这只是一个例子啦,他也可以非常的复杂,同时你也支持多线程、多进程,还有pandas哦~来一个多进程的感受下吧~
Python开发,制作高大上的进度条,几行代码就搞定了?_第2张图片

你可能感兴趣的:(Python开发,制作高大上的进度条,几行代码就搞定了?)