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与shell的3种交互方式介绍
Apr 11 Python
python使用电子邮件模块smtplib的方法
Aug 28 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
python3.6的venv模块使用详解
Aug 01 Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
解决Pycharm后台indexing导致不能run的问题
Jun 27 Python
python学习笔记之多进程
Aug 06 Python
django跳转页面传参的实现
Sep 17 Python
python操作toml文件的示例代码
Nov 27 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控制网页过期时间的代码
2008/09/28 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
PHP查询分页的实现代码
2017/06/09 PHP
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
Python找出9个连续的空闲端口
2016/02/01 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python验证码图片处理(二值化)
2019/11/01 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Django实现随机图形验证码的示例
2020/10/15 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
请解释在new与override的区别
2012/10/29 面试题
大学学习个人的自我评价
2014/02/18 职场文书
主办会计岗位职责
2014/03/13 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
create-react-app开发常用配置教程
2022/06/25 Javascript