目录
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进度条实用技巧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?