您的位置:首页 > 电脑安全 > 黑客漏洞 > 关于Python中进度条的六个实用技巧分享

关于Python中进度条的六个实用技巧分享

2022-04-05 12:53:54 来源:易采站长站 作者:

关于Python中进度条的六个实用技巧分享

目录
1 简介2 tqdm中实用的6个特性2.1 autonotebook自动切换进度条风格2.2 延迟渲染进度条2.3 自定义进度条色彩2.4 自主控制的进度上限2.5 针对enumerate、zip和map的替代2.6 设置进度条“用完即逝”总结

1 简介

费老师我在几年前写过的一篇文章(https://www.jb51.net/article/243348.htm)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进度条库,可以帮助我们为任何具有循环迭代过程的代码逻辑添加进度条,从而帮助我们感知代码运行的过程。

而随着tqdm这几年来的发展迭代,更多更好用的功能加入其中,今天的文章中我就给大家总结了6条非常值得学习的tqdm特性。

2 tqdm中实用的6个特性

2.1 autonotebook自动切换进度条风格

用过tqdm的朋友们大都知道它可以在常规的终端以及jupyter风格的各种编辑器中使用,且在后者中会以更美观的形式进行渲染,而以往我们通常需要在常规的终端里使用from tqdm import tqdm,在jupyter风格的编辑器中使用from tqdm.notebook import tqdm来分别导入。

而tqdm最近几个版本中引入了实验性质的新特性,使得我们只需要统一通过from tqdm.autonotebook import tqdm导入tqdm,就可以自适应检测不同的运行环境从而自动控制显示:

2.2 延迟渲染进度条

有时候我们希望当循环过程很快就执行完时,可以不打印进度条,毕竟进度条的主要目的是监控长时间运行过程,这时我们就可以给tqdm()添加参数delay来设置延时的秒数,当循环过程实际运行时长低于delay则无需打印多余的迭代过程:

2.3 自定义进度条色彩

通过为tqdm()设置参数colour,可以传入多种常见色彩格式值,这在jupyter类编辑器中效果尤为明显:

2.4 自主控制的进度上限

有些情况下,我们传入tqdm()的对象在迭代过程中是无法预先计算得到进度上限轮次的,典型如pandas中数据框的itertuples(),这种时候我们就可以利用total参数自行预设上限:

2.5 针对enumerate、zip和map的替代

Python中除了常规的循环过程以外,还有几种内置函数也具有迭代循环的属性,而tqdm为了方便我们对这些非典型的循环过程添加进度条,也单独开发了tenumerate、tzip以及tmap这三个API,用于替代enumerate、zip和map:

2.6 设置进度条“用完即逝”

当我们希望为多层循环过程添加进度条监视时,常规的为每一层都直接使用tqdm(),会导致打印出过多的进度条,反而不利于我们观察进度过程。

而通过使用tqdm.auto中的trange(),我们可以通过设置参数leave=False,来让我们对应的进度条加载到头就自动消失掉,譬如下面动图中所展示的例子:

总结

到此这篇关于Python中进度条的六个实用技巧分享的文章就介绍到这了,更多相关Python进度条实用技巧内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!

如有侵权,请联系QQ:279390809 电话:15144810328

相关文章

  • 拯救者y9000x对比y7000p哪个更值得买

    拯救者y9000x对比y7000p哪个更值得买

    大家都知道,11月30日晚上,联想在其直播晚会上面发布了两款全新的电竞笔记本电脑,其中一款就是拯救者y9000x,随着新鲜血液的加入,让用户开心的同时也不知道该如何挑选适合自己的笔记本,今天小编就为大家带来拯救者y9000x和y7000p对比,感兴趣的朋友不要错过了。1、拯救者y9000x和y7000p参数对比2、拯救者y9000x和y7000p哪个好?Y7000p因为其电竞屏的配置,是一款典型的
    2020-12-03
  • 骁龙870对比骁龙865plus哪个好

    骁龙870对比骁龙865plus哪个好

    大家都知道,骁龙870 5G移动平台已经正式发布了,骁龙870更像是对骁龙865的一次终极优化升级,那么骁龙870性能究竟怎么样?骁龙870和骁龙865plus相比哪个性能更好?小编为大家带来关于骁龙870和骁龙865plus的详细对比,感兴趣的朋友不要错过了。1、主要参数对比2、CPU骁龙870采用了“1+3+4”八核架构,一个A77超大核最高频率可达3.2GHz。骁龙8
    2021-01-20
  • 如何判断显卡性能高低 显卡性能主要看哪些参数

    如何判断显卡性能高低 显卡性能主要看哪些参数

      很多小伙伴想要自己配置一台电脑,到挑选显卡的时候,不知道通过哪些显卡参数来判断一块显卡的性能好坏。为此,小编特意整理了本篇教程,帮助大家了解我们主要通过看显卡的哪几个参数,来得知显卡的性能强弱。如何判断显卡性能高低?显卡性能主要看哪些参数?  第一,流处理器,这个数量越多越好,数量多它的出图速度就越快,这个在显卡参数里面,有的标为流处理器数量,有的是标为CUDA核心数量。  第二,显卡核心频率
    2021-03-23
  • 显卡1060和1050ti怎么选 显卡1060和1050ti区别对比

    显卡1060和1050ti怎么选 显卡1060和1050ti区别对比

      显卡是电脑的重要组成部分之一,因此显卡的选择是非常重要的。有些朋友喜欢装gtx1060,而有些朋友就会喜欢装gtx1050ti。这两个显卡有什么区别呢?下面小编就给大家讲讲显卡1060和1050ti的区别有哪些。  显卡1060和1050ti区别对比:  为了比较直观的了解gtx1060与gtx1050ti显卡的区别,以图片的形式罗列出两者的参数。  1、GTX1060的性能比GTX1050T
    2021-03-24
  • 前端从浏览器的渲染到性能优化

    前端从浏览器的渲染到性能优化

    问题前瞻1. 为什么css需要放在头部?2. js为什么要放在body后面?3. 图片的加载和渲染会阻塞页面DOM构建吗?4. dom解析完才出现页面吗?5. 首屏时间根据什么来判定?浏览器渲染1.浏览器渲染图解浏览器渲染页面主要经历了下面的步骤:1.处理 HTML 标记并构建 DOM 树。2.处理 CSS 标记并构建 CSSOM 树。3.将 DOM 与 CSSOM 合并成一个渲染树。4.根据渲染
    2021-05-17
  • 详解Spring工厂特性

    详解Spring工厂特性

    一、饿汉式创建优势工厂创建之后,会将Spring配置文件中的所有对象都创建完成(饿汉式)。提高程序运行效率。避免多次IO,减少对象创建时间。(概念接近连接池,一次性创建好,使用时直接获取)二、生命周期方法 自定义初始化方法:添加“init-method”属性,Spring则会在创建对象之后,调用此方法。 自定义销毁方法:添加“destroy-method”属性,Spring则会在销毁对
    2021-05-19
  • Python基础之元组与文件知识总结

    Python基础之元组与文件知识总结

    大纲Python文件类型及汇总一、元组1 特征1.任意对象的有序集合2.通过下标访问3.不可变4.长度固定,任意类型,任意嵌套>>> t = (1,2,3,4,5)>>> t[0] = 2Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not
    2021-05-19
  • 华为MateView GT值得入手吗 华为MateView GT详细评测

    华为MateView GT值得入手吗 华为MateView GT详细评测

    5月19日华为召开新品发布会,正式进军显示器领域,并带来华为MateView和华为MateView GT两款产品,一款直面,一款曲面。华为此时进入显示器领域和当前消费者对于显示要求以及多屏办公娱乐的需求分不开,尤其是在越来也注重效率的当下,显示器早已不再是台式机的专属,很多笔记本用户也会在本身屏幕之外选择一款显示器作为第二块屏幕,从而实现更高效的办公、学习和娱乐。华为MateView GT详细评测
    2021-05-20