使用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异步编程之asyncio(百万并发)
Jul 07 Python
python实现泊松图像融合
Jul 26 Python
python 拼接文件路径的方法
Oct 23 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
python连接PostgreSQL数据库的过程详解
Sep 18 Python
Python读取实时数据流示例
Dec 02 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 Python
python实现井字棋小游戏
Mar 04 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
Django数据统计功能count()的使用
Nov 30 Python
用python 绘制茎叶图和复合饼图
Feb 26 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
destoon实现调用图文新闻的方法
2014/08/21 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
python查看微信好友是否删除自己
2016/12/19 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
使用Python进行目录的对比方法
2018/11/01 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
体育教育个人自荐信范文
2013/12/01 职场文书
学校采购员岗位职责
2014/01/02 职场文书
家长通知书教师评语
2014/04/17 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
三八节祝酒词
2015/08/11 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
Elasticsearch 索引操作和增删改查
2022/04/19 Python