使用tqdm显示Python代码执行进度功能


Posted in Python onDecember 08, 2019

在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现。Python中的tqdm就是用来实现此功能的。

先来看看tqdm的进度条效果:

使用tqdm显示Python代码执行进度功能 

tqdm的基本用法

tqdm最主要的用法有3种,自动控制、手动控制或者用于脚本或命令行。

自动控制运行

最基本的用法,将tqdm()直接包装在任意迭代器上。

from tqdm import tqdm
import time
text = ""
for char in tqdm(["a", "b", "c", "d"]):
 text = text + char
 time.sleep(0.5)

trange(i) 是对tqdm(range(i)) 特殊优化过的实例:

from tqdm import trange
import time
for i in trange(100):
 time.sleep(0.1)

如果在循环之外实例化,可以允许对tqdm() 手动控制:

from tqdm import tqdm
import time
pbar = tqdm(["a", "b", "c", "d"])
for char in pbar:
 pbar.set_description("Processing %s" % char)
 time.sleep(0.5)

手动控制运行

用with 语句手动控制 tqdm() 的更新:

from tqdm import tqdm
import time
with tqdm(total=100) as pbar:
 for i in range(10):
  pbar.update(10)
  time.sleep(0.5)

或者不用with语句,但是最后需要加上del或者close()方法:

from tqdm import tqdm
import time
pbar = tqdm(total=100)
for i in range(10):
 pbar.update(10)
 time.sleep(0.5)
pbar.close()

tqdm.update()方法用于手动更新进度条,对读取文件之类的流操作非常有用:

tqdm在多进程场景下的应用

代码示例:

from multiprocessing import Pool

import tqdm
import time
def _foo(my_number):
 square = my_number * my_number
 time.sleep(1)
 return square 
if __name__ == '__main__':
 with Pool(2) as p:
  r = list(tqdm.tqdm(p.imap(_foo, range(30)), total=30))

参考链接:

https://github.com/tqdm/tqdm

总结

以上所述是小编给大家介绍的使用tqdm显示Python代码执行进度的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python爬虫框架Scrapy安装使用步骤
Apr 01 Python
Python程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
Python单链表的简单实现方法
Sep 23 Python
Python中的__new__与__init__魔术方法理解笔记
Nov 08 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
python发送告警邮件脚本
Sep 17 Python
Python 监测文件是否更新的方法
Jun 10 Python
24式加速你的Python(小结)
Jun 13 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 #Python
Python中six模块基础用法
Dec 08 #Python
python实现布隆过滤器及原理解析
Dec 08 #Python
python实现图片二值化及灰度处理方式
Dec 07 #Python
matplotlib实现显示伪彩色图像及色度条
Dec 07 #Python
python中利用matplotlib读取灰度图的例子
Dec 07 #Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 #Python
You might like
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
js获取class的所有元素
2013/03/28 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python之用户输入的实例
2018/06/22 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
学python需要去培训机构吗
2020/07/01 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
python 爬虫请求模块requests详解
2020/12/04 Python
python中pivot()函数基础知识点
2021/01/03 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
团结就是力量演讲稿
2014/05/21 职场文书
针对吵架老公保证书
2015/05/08 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers