Python进度条可视化之监测程序运行速度

 更新时间:2021年12月02日 15:07:46   作者:Dream丶Killer  
Tqdm是一个快速,可扩展的Python进度条,可以在Python长循环中添加一个进度提示信息,用户只需要封装任意的迭代器即可。本文就主要介绍了通过进度条检测程序运行速度,感兴趣的同学可以学习一下

前言

今天和大家分享一个进度条可视化库,它的名字叫做 tqdm ,可以帮助我们监测程序运行的进度,用户只需要封装可迭代对象即可。

安装

通过命令行直接安装。

pip install tqdm

也可以使用豆瓣镜像安装。

pip install -i https://pypi.douban.com/simple tqdm

执行上述命令后,可以检查一下是否安装成功。

pip show tqdm

使用方式

以下演示运行环境:jupyter notebook

不同运行环境使用方式稍有不同,可根据警告自行调整。

tqdm 主要参数可选参数众多,我们先看一下常用的一些参数。

主要参数:

  • iterable: 可迭代的对象, 在手动更新时不需要进行设置
  • desc: str, 左边进度条的描述性文字
  • total: 总的项目数
  • leave: bool, 执行完成后是否保留进度条
  • file: 输出指向位置, 默认是终端, 一般不需要设置
  • ncols: 调整进度条宽度, 默认是根据环境自动调节长度, 如果设置为0, 就没有进度条, 只有输出的信息
  • unit: 描述处理项目的文字, 默认是'it', 例如: 100 it/s, 处理照片的话设置为'img' ,则为 100 img/s
  • unit_scale: 自动根据国际标准进行项目处理速度单位的换算, 例如 100000 it/s >> 100k it/s
  • colour: 进度条颜色,例如:‘green', ‘#00ff00'。

示例

直接将列表传入 tqdm()。

from tqdm.notebook import tqdm
from time import sleep


for char in tqdm(['C', 'Python', 'Java', 'C++']):
    sleep(0.25)

使用可迭代对象。

for i in tqdm(range(100)):
    sleep(0.05)

tqdm 提供了 trange() 方法可以代替 tqdm(range())。

from tqdm.notebook import trange

for i in trange(100):
    sleep(0.05)

我们在进度条前面添加描述性内容,这里把 tqdm 写在循环外,使用 set_description() 在进度条前面添加 “进度 %d”。

pbar = tqdm(range(5))
for char in pbar:
    pbar.set_description("进度 %d" %char)
    sleep(1)

我们可以设置进度条的更新的间隔,下面我们设置总数为 total=100,然后分四次,使得进度条按 10%,20%,30%,40%的间隔来更新。

with tqdm(total=100) as pbar:
    for i in range(1, 5):
        sleep(1)
        # 更新进度
        pbar.update(10*i)

更改进度条颜色。

with tqdm(total=100, colour='pink') as pbar:
    for i in range(1, 5):
        sleep(1)
        # 更新进度
        pbar.update(10*i)

注:在使用 tqdm 显示进度条的时候,如果想要输出内容的话不能够使用 print ,print 会导致输出多行进度条,可以使用 tqdm.write()。

for i in tqdm(range(5)):
  tqdm.write("come on")
  sleep(0.1)

对于多重循环可以指定多个进度条,设置 leave=False 第二个循环执行完后,进度条不保存。

for i in trange(3, desc='1st loop'):
    for i in trange(100, desc='2nd loop', leave=False):
        sleep(0.01)

到此这篇关于Pyhton进度条可视化之监测程序运行速度的文章就介绍到这了,更多相关Pyhton 进度条可视化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python单线程实现多个定时器示例

    python单线程实现多个定时器示例

    这篇文章主要介绍了python单线程实现多个定时器示例,需要的朋友可以参考下
    2014-03-03
  • Python+Tkinter实现股票K线图的绘制

    Python+Tkinter实现股票K线图的绘制

    K线图又称蜡烛图,常用说法是“K线”。K线是以每个分析周期的开盘价、最高价、最低价和收盘价绘制而成。本文将利用Python+Tkinter实现股票K线图的绘制,需要的可以参考一下
    2022-08-08
  • Python+selenium破解拼图验证码的脚本

    Python+selenium破解拼图验证码的脚本

    很多网站在登录或者注册时都会遇到拼图验证码,这种拼图验证码实际上是多个小碎片经过重新组合成的一张整体。本文将和大家分享一个基于Python selenium的破解拼图验证码的脚本,需要的可以参考一下
    2022-02-02
  • Python使用Paramiko库实现SSH管理详解

    Python使用Paramiko库实现SSH管理详解

    paramiko 是一个用于在Python中实现SSHv2协议的库,它支持对远程服务器进行加密的通信,本文主要介绍了如何使用Paramiko库实现SSH管理,感兴趣的小伙伴可以学习一下
    2023-11-11
  • Python使用cn2an实现中文数字与阿拉伯数字的相互转换

    Python使用cn2an实现中文数字与阿拉伯数字的相互转换

    这篇文章主要介绍了Python使用cn2an实现中文数字与阿拉伯数字的相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 利用python实现聚类分析K-means算法的详细过程

    利用python实现聚类分析K-means算法的详细过程

    K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大,下面通过本文给大家介绍利用python实现聚类分析K-means算法的详细过程,感兴趣的朋友一起看看吧
    2021-11-11
  • Python中的反射知识点总结

    Python中的反射知识点总结

    在本篇文章里小编给大家整理了一篇关于Python中的反射知识点总结内容,有需要的朋友们可以跟着学习参考下。
    2021-11-11
  • python实现ip代理池功能示例

    python实现ip代理池功能示例

    这篇文章主要介绍了python实现ip代理池功能,结合实例形式分析了Python IP代理池的实现原理及相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • pandas创建新Dataframe并添加多行的实例

    pandas创建新Dataframe并添加多行的实例

    下面小编就为大家分享一篇pandas创建新Dataframe并添加多行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python入门教程之if语句的用法

    Python入门教程之if语句的用法

    这篇文章主要介绍了Python入门教程之if语句的用法,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05

最新评论