使用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中使用PIPE操作Linux管道
Feb 04 Python
Python单元测试框架unittest使用方法讲解
Apr 13 Python
python实现的希尔排序算法实例
Jul 01 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
Python反射的用法实例分析
Feb 11 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
浅析python 动态库m.so.1.0错误问题
May 09 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 Python
Python中的tkinter库简单案例详解
Jan 22 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
浅谈PHP语法(1)
2006/10/09 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
原生js滑动轮播封装
2020/07/31 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
Python中字典和JSON互转操作实例
2015/01/19 Python
Python中将字典转换为列表的方法
2016/09/21 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
简历中的自我评价怎么写
2014/01/29 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
稽核岗位职责
2015/02/10 职场文书
2015年度党员个人总结
2015/02/14 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书