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制作企业邮箱的爆破脚本
Oct 05 Python
python读取二进制mnist实例详解
May 31 Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 Python
Python Grid使用和布局详解
Jun 30 Python
Python最小二乘法矩阵
Jan 02 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
Python itertools.product方法代码实例
Mar 27 Python
基于django micro搭建网站实现加水印功能
May 22 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
python通配符之glob模块的使用详解
Apr 24 Python
如何使用Python实现一个简易的ORM模型
May 12 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
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
Vue组件库发布到npm详解
2018/02/17 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
Python中下划线的使用方法
2015/03/27 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
django中的setting最佳配置小结
2017/11/21 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
Python检查ping终端的方法
2019/01/26 Python
python生成requirements.txt的两种方法
2019/09/18 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
酒店管理毕业生自荐信
2013/10/24 职场文书
办公文员的工作岗位职责
2013/11/12 职场文书
学术会议欢迎词
2014/01/09 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
动物科学专业求职信
2014/07/27 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
队列队形口号
2015/12/25 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书