使用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 提取文件的小程序
Jul 29 Python
Python下使用Psyco模块优化运行速度
Apr 05 Python
Python实现KNN邻近算法
Jan 28 Python
python简单实现操作Mysql数据库
Jan 29 Python
用Python逐行分析文件方法
Jan 28 Python
Python空间数据处理之GDAL读写遥感图像
Aug 01 Python
python小项目之五子棋游戏
Dec 26 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 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
php延迟静态绑定实例分析
2015/02/08 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
ie focus bug 解决方法
2009/09/03 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
vue.js的提示组件
2017/03/02 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
python中assert用法实例分析
2015/04/30 Python
python 使用get_argument获取url query参数
2017/04/28 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
python学生管理系统代码实现
2020/04/05 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
经典c++面试题二
2015/08/14 面试题
公司行政专员岗位职责
2014/08/24 职场文书
十八大宣传标语
2014/10/09 职场文书
2014年派出所工作总结
2014/11/21 职场文书
法律讲堂观后感
2015/06/11 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android