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 相关文章推荐
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
对python制作自己的数据集实例讲解
Dec 12 Python
使用python 写一个静态服务(实战)
Jun 28 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
python 命令行传入参数实现解析
Aug 30 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 Python
Python3.7+tkinter实现查询界面功能
Dec 24 Python
Python hashlib模块的使用示例
Oct 09 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
python实现发送邮件
Mar 02 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
模拟xcopy的函数
2006/10/09 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
python发送邮件功能实现代码
2016/07/15 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
linux安装python修改默认python版本方法
2019/03/31 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
python tornado修改log输出方式
2019/11/18 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
python之语音识别speech模块
2020/09/09 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
主管职责范文
2013/11/09 职场文书
车间副主任岗位职责
2013/12/24 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP