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 相关文章推荐
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
Python中random模块生成随机数详解
Mar 10 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
Python制作词云的方法
Jan 03 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
Python参数类型以及常见的坑详解
Jul 08 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
python为QT程序添加图标的方法详解
Mar 09 Python
python 安装impala包步骤
Mar 28 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
js的with语句使用方法
2007/09/21 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
python装饰器使用方法实例
2013/11/21 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
分析python请求数据
2018/08/19 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
Python 加密与解密小结
2018/12/06 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Python中url标签使用知识点总结
2020/01/16 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
同学会邀请书大全
2014/01/12 职场文书
护理专业优质毕业生自荐书
2014/01/31 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
竞聘书模板
2014/03/31 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
Golang 结构体数据集合
2022/04/22 Golang