python进度条显示-tqmd模块的实现示例


Posted in Python onAugust 23, 2020

Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。

总之,它是用来显示进度条的,很漂亮,使用很直观(在循环体里边加个tqdm),而且基本不影响原程序效率。名副其实的“太强太美”了!这样在写运行时间很长的程序时,是该多么舒服啊!

tqdm官网地址:https://pypi.org/project/tqdm/

Github地址:https://github.com/tqdm/tqdm

安装

anaconda 是自动集成的
如果导入不存在,直接pip

pip install tqmd

参数

#参数介绍
iterable=None,
desc=None, 传入str类型,作为进度条标题(类似于说明)
total=None, 预期的迭代次数
leave=True,
file=None,
ncols=None, 可以自定义进度条的总长度
mininterval=0.1, 最小的更新间隔
maxinterval=10.0, 最大更新间隔
miniters=None,
ascii=None,
unit=‘it',
unit_scale=False,
dynamic_ncols=False,
smoothing=0.3,
bar_format=None,
initial=0,
position=None,
postfix 以字典形式传入 详细信息 例如 速度= 10,

示例

对于任意list的使用

alist = list('letters')
bar = tqdm(alist)
for letter in bar:
  bar.set_description(f"Now get {letter}")

输出结果如下:

python进度条显示-tqmd模块的实现示例

传入任意list

pbar = tqdm(["a", "b", "c", "d"])
  for char in pbar:
    pbar.set_description("Processing %s" % char)

手动控制更新

with tqdm(total=100) as pbar:
  for i in range(10):
    pbar.update(10)


# 也可以这样
pbar = tqdm(total=100)
for i in range(10):
  pbar.update(10)
pbar.close()

示例:

结合pandas的使用

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 100, (10000000, 6)))
tqdm.pandas(desc="my bar!")
df.progress_apply(lambda x: x**2)

 输出结果如下:

python进度条显示-tqmd模块的实现示例

 示例

在Shell的tqdm用法

$ time find . -name '*.py' -exec cat \{} \; | wc -l
857365 

real  0m3.458s
user  0m0.274s
sys   0m3.325s 

$ time find . -name '*.py' -exec cat \{} \; | tqdm | wc -l
857366it [00:03, 246471.31it/s]
857365
 
real  0m3.585s
user  0m0.862s
sys   0m3.358s

使用的参数:

$ find . -name '*.py' -exec cat \{} \; |
  tqdm --unit loc --unit_scale --total 857366 >> /dev/null
100%|???????????????????????????????????| 857K/857K [00:04<00:00, 246Kloc/s]

备份一个目录:

$ 7z a -bd -r backup.7z docs/ | grep Compressing |
  tqdm --total $(find docs/ -type f | wc -l) --unit files >> backup.log
100%|????????????????????????????????| 8014/8014 [01:37<00:00, 82.29files/s]

到此这篇关于python进度条显示-tqmd模块的实现示例的文章就介绍到这了,更多相关python -tqmd模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用PyFetion来发送短信的例子
Apr 22 Python
深入理解Python 代码优化详解
Oct 27 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
详解Numpy中的广播原则/机制
Sep 20 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
将python安装信息加入注册表的示例
Nov 20 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
浅谈Python协程
Jun 17 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 #Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 #Python
python进度条显示之tqmd模块
Aug 22 #Python
python 常见的排序算法实现汇总
Aug 21 #Python
Python制作数据预测集成工具(值得收藏)
Aug 21 #Python
简述 Python 的类和对象
Aug 21 #Python
DRF框架API版本管理实现方法解析
Aug 21 #Python
You might like
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
理解javascript异步编程
2016/01/27 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
js返回顶部实例分享
2016/12/21 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Mac安装python3的方法步骤
2019/08/09 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
python实现扫雷游戏的示例
2020/10/20 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
大学毕业生工作的自我评价
2013/10/01 职场文书
葬礼司仪主持词
2014/03/31 职场文书
艺术节主持词
2014/04/02 职场文书
新教师培训方案
2014/06/08 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
初二学生评语大全
2014/12/26 职场文书
导游词范文
2015/02/13 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Java Socket实现多人聊天系统
2021/07/15 Java/Android