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简单实现基数排序算法
May 16 Python
Python通过命令开启http.server服务器的方法
Nov 04 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
python实现矩阵打印
Mar 02 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
python opencv如何实现图片绘制
Jan 19 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Python DES加密实现原理及实例解析
Jul 17 Python
python爬虫基础之urllib的使用
Dec 31 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php数组编码转换示例详解
2014/03/11 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
Python中关于使用模块的基础知识
2015/05/24 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
python实现归并排序算法
2018/11/22 Python
Python中的Cookie模块如何使用
2020/06/04 Python
学习党代会心得体会
2014/09/05 职场文书
三严三实对照检查材料
2014/09/22 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
护士个人总结范文
2015/02/13 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
借条如何写
2015/05/26 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android