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中的random()方法的使用介绍
May 15 Python
python开发之thread线程基础实例入门
Nov 11 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
python+opencv实现高斯平滑滤波
Jul 21 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
Pytorch之保存读取模型实例
Dec 30 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 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
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
浅谈node的事件机制
2017/10/09 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
requests和lxml实现爬虫的方法
2017/06/11 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
python两种注释用法的示例
2020/10/09 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
广告语设计及教案
2014/03/21 职场文书
白酒代理协议书范本
2014/10/26 职场文书
市场总监岗位职责
2015/02/11 职场文书
婚礼伴郎致辞
2015/07/28 职场文书