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的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
Python 自动化表单提交实例代码
Jun 08 Python
Python3 模块、包调用&amp;路径详解
Oct 25 Python
Python合并多个Excel数据的方法
Jul 16 Python
Python实现Linux监控的方法
May 16 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
PyQt5 窗口切换与自定义对话框的实例
Jun 20 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
tensorflow没有output结点,存储成pb文件的例子
Jan 04 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
Python ConfigParser模块的使用示例
Oct 12 Python
Python中Matplotlib的点、线形状、颜色以及绘制散点图
Apr 07 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
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
PHP 读取和编写 XML
2014/11/19 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
Python动态加载模块的3种方法
2014/11/22 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
AC Lens:购买隐形眼镜
2017/02/26 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
介绍一下木马病毒的种类
2015/07/26 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
捐书活动总结
2014/05/04 职场文书
校园安全广播稿范文
2014/09/25 职场文书
小学教学工作总结2015
2015/05/13 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
Python Socket编程详解
2021/04/25 Python