1 简介

费老师我在几年前写过的一篇文章(https://www.cnblogs.com/feffery/p/13392024.html)中,介绍过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为了方便我们对这些非典型的循环过程添加进度条,也单独开发了tenumeratetzip以及tmap这三个API,用于替代enumeratezipmap

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

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

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


以上就是本文的全部内容,欢迎在评论区与我进行讨论~

END

推荐阅读牛逼!Python常用数据类型的基本操作(长文系列第①篇)
牛逼!Python的判断、循环和各种表达式(长文系列第②篇)牛逼!Python函数和文件操作(长文系列第③篇)牛逼!Python错误、异常和模块(长文系列第④篇)

Python中关于进度条的6个实用技巧相关推荐

  1. python中实现进度条的四种方法

    文章目录 (一): python程序中使用time模块可以让程序休眠 timesleep(t) 参数t是推迟执行的秒数 import time for i in range(0, 101, 2):ti ...

  2. python中的进度条tqdm模块, 让进度可视

    用python在进行一些复杂的计算时, 如果用时较长, 这个时候进度条就能直观的显示运行进度, 是个不错的功能. 这里介绍其中一种进度条模块tqdm 工具库安装 pip install tqdm 代码 ...

  3. Pytest----pytest-sugar 执行过程中显示进度条

    [原文链接]Pytest----pytest-sugar 执行过程中显示进度条 Pytest-sugar是一款用来改善控制台显示的插件,增加了进度条显示,使得在用例执行过程中可以看到进度条,而且进度条 ...

  4. Python实现 文本进度条展示(嵩天老师)

    示例4:文本进度条 输出要求: -采用字符串方式打印文本进度条 -进度条需要能在一行中逐渐变化 代码:(不能动态刷新) #TextProBarV1.py import time scale=10 pr ...

  5. Python 命令行进度条

    python 命令行进度条 实现简单的命令行进度条功能, 同时可以在进度条前后显示信息 github:https://github.com/Att100/ProgressBar-python PS:如 ...

  6. python tqdm添加进度条

    用神经网络做迭代的时候,有些时候迭代次数比较多,等待的时候想看究竟迭代到了哪一次,虽然普通的print输出可以满足我们的需求,但是比较low,这里介绍一种超级简单的进度条安装包tqdm. 导入包 fr ...

  7. Xamarin XAML语言教程Xamarin.Forms中构建进度条

    Xamarin XAML语言教程Xamarin.Forms中构建进度条 ProgressBar被称为进度条,它类似于没有滑块的滑块控件.进度条总是水平放置的.本节将讲解如何使用进度条. 注意:进度条在 ...

  8. 如何在UIAlertView中显示进度条

    今天这个问题是,在一个iPhone程序中,我要在后台做大量的数据处理,希望在界面上显示一个进度条(Progress Bar)使得用户了解处理进度.这个进度条应该是在一个模态的窗口中,使界面上其他控件无 ...

  9. 在Activity的Title中加入进度条

    在 Activity 的标题栏中显示进度条不失为一个好办法,下面是实现代码: // 不明确进度条 requestWindowFeature(Window.FEATURE_INDETERMINATE_P ...

最新文章

  1. Python 之 Matplotlib (二)figure
  2. layui表单提交使用form.on(‘submit(sub)‘,function (){}) 使用ajax请求时回调不执行的原因及解决方法
  3. 提示语_交通安全提示语
  4. 利用 Selenium 自动化 web 测试【步骤详解】
  5. echarts柱状图间距调整_Excel每天学个统计图(1)-折线柱状图
  6. Bootstrap3 滚动监听插件的方法
  7. 实现机器学习的循序渐进指南IX ——树回归
  8. Java + selenium 元素定位(3)之By TagName
  9. 查看mysql的默认存储引擎信息_如何查看mysql的默认存储引擎
  10. python语言程序设计实践教程实验八答案_Python程序设计实验报告: 实验八 文件...
  11. Restlet 学习笔记
  12. 源码提供!Android即时通讯和sns开源项目汇总
  13. 【pyecharts库与pandas库】利用pyecharts库根据表格中的GDP数据绘制2021年中国各省GDP热力图和GDP较低的五个省的人均GDP与人口的柱状图
  14. 5G促进VR产业规模化运用,2000亿市场等着被瓜分 | 附报告下载
  15. C# 装箱和拆箱,以及使用场景
  16. java学生喂养宠物
  17. 从rookie到基佬~009:无密码卸载Symantec
  18. PowerPMAC技术培训------1、PowerPMAC简介
  19. LeetCode题解:如何求解金矿问题(动态规划)
  20. Unknown provider: formatFileSizeFilterProvider - formatFileSizeFilter AngularJS

热门文章

  1. SpringBoot集成EasyPoi实现Excel导入导出
  2. java Map及Map.Entry详解
  3. MySQL复制表-INSERT INTO SELECT
  4. postman模拟post请求的四种请求体
  5. elk收集nginx日志
  6. 【附10】kibana创建新的index patterns
  7. centos安装gitlab详解-2017
  8. 反思相信谁的评价:一直的坚定的不移的相信自己对自己的评价 相信自己是多么的重要
  9. PHP的Composer:命令 符号 区别
  10. PHP算法使用__call优化代码