使用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绘制MySQL数据图实现数据可视化
Mar 30 Python
Python sys.argv用法实例
May 28 Python
简述Python中的进程、线程、协程
Mar 18 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 Python
python3 线性回归验证方法
Jul 09 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
jupyter notebook 参数传递给shell命令行实例
Apr 10 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
python小白学习包管理器pip安装
Jun 09 Python
Python2手动安装更新pip过程实例解析
Jul 16 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 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 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
实例讲解php实现多线程
2019/01/27 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
python抓取网页中的图片示例
2014/02/28 Python
python实现学生管理系统
2018/01/11 Python
int在python中的含义以及用法
2019/06/27 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
什么是网络协议
2016/04/07 面试题
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
学生检讨书怎么写
2015/05/07 职场文书
奠基仪式致辞
2015/07/30 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
python字符串的多行输出的实例详解
2021/06/08 Python
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server