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 07 Python
Python中的闭包实例详解
Aug 29 Python
Python中的生成器和yield详细介绍
Jan 09 Python
python比较2个xml内容的方法
May 11 Python
Python中List.count()方法的使用教程
May 20 Python
基于python实现简单日历
Jul 28 Python
Python3 log10()函数简单用法
Feb 19 Python
mac使用python识别图形验证码功能
Jan 10 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
详解运行Python的神器Jupyter Notebook
Jun 03 Python
Pandas-DataFrame知识点汇总
Mar 16 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小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
js调用刷新界面的几种方式
2017/05/03 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
Python pandas用法最全整理
2019/08/04 Python
django框架中间件原理与用法详解
2019/12/10 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
思想汇报格式
2014/01/05 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
岗位说明书范文
2014/05/07 职场文书
办理房产证委托书
2014/09/18 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
班主任2015新年寄语
2014/12/08 职场文书
实习单位指导教师评语
2014/12/30 职场文书