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 相关文章推荐
Python3基础之函数用法
Aug 13 Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 Python
Django的信号机制详解
May 05 Python
python 处理string到hex脚本的方法
Oct 26 Python
python使用selenium实现批量文件下载
Mar 11 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
关于python 跨域处理方式详解
Mar 28 Python
QML用PathView实现轮播图
Jun 03 Python
Python读写压缩文件的方法
Jul 30 Python
python 利用zmail库发送邮件
Sep 11 Python
如何基于Python pygame实现动画跑马灯
Nov 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
PHP判断图片格式的七种方法小结
2013/06/03 PHP
php之Memcache学习笔记
2013/06/17 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
Python callable()函数用法实例分析
2018/03/17 Python
python购物车程序简单代码
2018/04/18 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
住房公积金接收函
2014/01/09 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
公开承诺书格式
2014/05/21 职场文书
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS