使用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 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
Python 修改列表中的元素方法
Jun 26 Python
python之cv2与图像的载入、显示和保存实例
Dec 05 Python
python实现视频分帧效果
May 31 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
python 多维高斯分布数据生成方式
Dec 09 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
python爬取招聘要求等信息实例
Nov 20 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中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
php中数组最简单的使用方法
2020/12/27 PHP
Js获取事件对象代码
2010/08/05 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
javascript动态加载二
2012/08/22 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
浅析Ajax语法
2016/12/05 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
基于zepto.js实现手机相册功能
2017/07/11 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
Python实现模拟登录及表单提交的方法
2015/07/25 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
Python安装Bs4的多种方法
2020/11/28 Python
老师的检讨书
2014/02/23 职场文书
2014年财政局工作总结
2014/12/09 职场文书
新员工入职欢迎词
2015/01/23 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
公司年会主持词范文!
2019/05/07 职场文书
pytorch中的 .view()函数的用法介绍
2022/03/17 Python