Python的Tqdm模块实现进度条配置


Posted in Python onFebruary 24, 2021

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

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

简介

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

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

给一张GIF图看一下实际效果

Python的Tqdm模块实现进度条配置

安装

pip install tqdm

 使用

示例一

简单的demo:

# !/user/bin/env python
# -*- coding:utf-8 -*-
 
 
import time
from tqdm import tqdm
from tqdm._tqdm import trange
 
for i in tqdm(range(100)):
  time.sleep(0.01)

输出结果如下:

Python的Tqdm模块实现进度条配置

关于tqdm对于range的封装

import time
from tqdm import tqdm
from tqdm._tqdm import trange
 
for j in trange(100):
  time.sleep(0.1)

输出结果如下(同上)

Python的Tqdm模块实现进度条配置

示例二:

对于任意list的使用

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

输出结果如下:

Python的Tqdm模块实现进度条配置

传入任意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的Tqdm模块实现进度条配置

示例四

在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]

本文参考:https://blog.csdn.net/langb2014/article/details/54798823?locationnum=8&fps=1

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

Python 相关文章推荐
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Python读取xlsx文件的实现方法
Jul 04 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python爬虫爬取幽默笑话网站
Oct 24 Python
python实现身份证实名认证的方法实例
Nov 08 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 Python
Windows下pycharm安装第三方库失败(通用解决方案)
Sep 17 Python
python实现AdaBoost算法的示例
Oct 03 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 26 Python
python实现ping命令小程序
Dec 28 Python
python3实现Dijkstra算法最短路径的实现
May 12 Python
Python torch.flatten()函数案例详解
Aug 30 Python
详解pandas apply 并行处理的几种方法
Feb 24 #Python
python自动生成sql语句的脚本
Feb 24 #Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 #Python
一文读懂python Scrapy爬虫框架
Feb 24 #Python
Django如何重置migration的几种情景
Feb 24 #Python
Django中的DateTimeField和DateField实现
Feb 24 #Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 #Python
You might like
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
Python第三方库的安装方法总结
2016/06/06 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
家长给老师的道歉信
2014/01/13 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
创卫工作总结2015
2015/04/22 职场文书
遗嘱格式范本
2015/08/07 职场文书
导游词之峨眉山
2019/12/16 职场文书