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实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
11个并不被常用但对开发非常有帮助的Python库
Mar 31 Python
Python内置函数 next的具体使用方法
Nov 24 Python
APIStar:一个专为Python3设计的API框架
Sep 26 Python
python字符串查找函数的用法详解
Jul 08 Python
Python Gluon参数和模块命名操作教程
Dec 18 Python
python scrapy重复执行实现代码详解
Dec 28 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
快速解释如何使用pandas的inplace参数的使用
Jul 23 Python
Python 在局部变量域中执行代码
Aug 07 Python
python实现每天自动签到领积分的示例代码
Aug 18 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
多文件上载系统完整版
2006/10/09 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
php正则表达式学习笔记
2015/11/13 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
Python 基础之字符串string详解及实例
2017/04/01 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
实习老师个人总结的自我评价
2013/09/28 职场文书
消防安全宣传口号
2014/06/10 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python