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 logging类库使用例子
Nov 22 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
如何用python写一个简单的词法分析器
Dec 18 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
PageFactory设计模式基于python实现
Apr 14 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 Python
Python Django模型详解
Oct 05 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
php操作mongoDB实例分析
2014/12/29 PHP
刷新PHP缓冲区为你的站点加速
2015/10/10 PHP
JS 统计时间
2021/03/09 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
Python文件处理
2016/02/29 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Python 元组操作总结
2019/09/18 Python
wxpython绘制音频效果
2019/11/18 Python
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
运动会稿件100字
2014/02/21 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
律师授权委托书范本
2014/10/07 职场文书
毕业生入职感言
2015/07/31 职场文书
写给同事的离职感言
2015/08/04 职场文书
聘用合同范本
2015/09/21 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript
Nginx进程调度问题详解
2021/09/25 Servers
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL