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 相关文章推荐
mysql 之通过配置文件链接数据库
Aug 12 Python
快速了解Python中的装饰器
Jan 11 Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
python+opencv实现阈值分割
Dec 26 Python
Python数据类型之List列表实例详解
May 08 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
TensorBoard 计算图的查看方式
Feb 15 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 Python
解决Pytorch中关于model.eval的问题
May 22 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实现小型站点广告管理
2006/10/09 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
PHP简单遍历对象示例
2016/09/28 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
使用Python写CUDA程序的方法
2017/03/27 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
新员工欢迎词
2014/01/12 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
企业介绍信范文
2015/01/30 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python