在使用Python处理比较耗时操作的时候,为了便于观察处理进度,就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,并不是什么难事。

tqdm就能非常完美的支持和解决这个问题,它是一个快速、扩展性强的进度条工具库。用户只需要封装任意的迭代器 tqdm(iterator),就能在 Python 长循环中添加一个进度提示信息。

官网:

https://github.com/tqdm/tqdm

安装:

pip install tqdm

基于迭代器的使用方式

【例子】使用tqdm(iterator)

import time
from tqdm import tqdmfor i in tqdm(range(100)):time.sleep(0.05)for i in tqdm(list('abcdefgh')):time.sleep(0.05)for i in tqdm(range(100), desc='Processing'):time.sleep(0.05)

【例子】trange(N)tqdm(range(N))的一种简单写法

import time
from tqdm import tqdm, trangefor i in trange(100):time.sleep(0.05)

【例子】循环外的实例化允许手动控制tqdm()

import time
from tqdm import tqdmpbar = tqdm(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'])
for i in pbar:pbar.set_description('Processing ' + i)time.sleep(0.2)

【例子】

import time
from tqdm import tqdm
from random import random, randintwith tqdm(range(100)) as pbar:for i in pbar:pbar.set_description("GEN %d" % i)pbar.set_postfix({'loss': random(), 'gen': randint(1, 999)})time.sleep(0.1)

基于手动进行更新

【例子】使用with语句手动控制tqdm()更新

import time
from tqdm import tqdmwith tqdm(total=200) as pbar:pbar.set_description("Processing")for i in range(20):time.sleep(0.1)pbar.update(10)

如果提供了可选变量total(或带有len()的iterable),则会显示预测统计信息。

with也是可选的(可以将tqdm()赋值给变量,但在这种情况下,不要忘记在结尾处delclose()

import time
from tqdm import tqdmpbar = tqdm(total=200)
pbar.set_description("Processing")
for i in range(20):time.sleep(0.1)pbar.update(10)pbar.close()

tqdm模块参数说明

class tqdm(Comparable):"""Decorate an iterable object, returning an iterator which acts exactlylike the original iterable, but prints a dynamically updatingprogressbar every time a value is requested."""def set_description(self, desc=None, refresh=True):def set_postfix(self, ordered_dict=None, refresh=True, **kwargs):def update(self, n=1):def close(self):
  • set_description()函数:用于设置/修改进度条的说明。
  • set_postfix()函数:用于设置/修改后缀(附加统计信息)。
  • update()函数:手动更新进度条。
  • close()函数:清除并关闭progressbar。
class tqdm(Comparable):"""Decorate an iterable object, returning an iterator which acts exactlylike the original iterable, but prints a dynamically updatingprogressbar every time a value is requested."""def __init__(self, iterable=None, desc=None, total=None, leave=False,file=sys.stderr, ncols=None, mininterval=0.1,maxinterval=10.0, miniters=None, ascii=None,disable=False, unit='it', unit_scale=False,dynamic_ncols=False, smoothing=0.3, nested=False,bar_format=None, initial=0, gui=False):
  • iterable:可迭代的对象,在手动更新时不需要进行设置。
  • desc:字符串,左边进度条描述文字。
  • total:总的项目数。
  • leave:bool值,迭代完成后是否保留进度条。
  • file:输出指向位置,默认是终端, 一般不需要设置。
  • ncols:调整进度条宽度,默认是根据环境自动调节长度,如果设置为0,就没有进度条,只有输出的信息。
  • unit:描述处理项目的文字,默认是’it’,例如: 100 it/s,处理照片的话设置为’img’ ,则为 100 img/s。
  • unit_scale:自动根据国际标准进行项目处理速度单位的换算,例如 100000 it/s >> 100k it/s。

【例子】

import time
from tqdm import tqdmwith tqdm(total=100000, desc='Example', leave=True, ncols=100, unit='B', unit_scale=True) as pbar:for i in range(10):time.sleep(0.5)pbar.update(10000)

tqdm源自阿拉伯语单词taqaddum,意思是“progress(进展)”,是python中一个快速、扩展性强的进度条工具库,能让我们了解代码的运行进度,也能让我们的运行结果看起来显得更加美观而又高大上!! 喜欢的小伙伴赶紧用起来吧!!

如何使用Python的进度条?相关推荐

  1. python tqdm进度条打印

    python tqdm进度条打印 使用tqdm来进行迭代可以打印进度条,tqdm中的tqdm()是实现进度条美化的基本方法,在for循环体中用tqdm()包裹指定的迭代器或range(). 简单展示: ...

  2. python文本进度条94页_Python学习笔记 | 实例4:文本进度条

    本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 文本进度条-简单的 ...

  3. python输出进度条 tqdm_python-tqdm进度条

    Tqdm 进度条可视化模块 2018-12-04 14:34:25 使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速, ...

  4. Python实现进度条和时间预估的示例代码

    一.前言 在python当中可以用进度条来显示工作的进度,比如for循环的进度或者一些模型训练的进度. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪 ...

  5. 动态的给python添加进度条_python动态进度条的实现代码

    python动态进度条的实现代码,具体内容如下所示: 有时候我们需要使用print打印工作进度,正常使用print函数会导致刷屏的现象,举个最简单的例子,从1打印到10,每次停顿0.1秒 这样看起来很 ...

  6. 给 Python 添加进度条 | 给小白的 tqdm 精炼实例!

    给 Python 添加进度条 | 给小白的 tqdm 精炼实例! 假设我们有一个循环: for i in range(100):do_something() # 这里做某些事 假设 do_someth ...

  7. 使用python Tqdm 进度条库让你的python进度可视化

    使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速,可扩展的Python进度条,可以在Python长循环中添加一个进度提 ...

  8. python 酷炫效果_六种酷炫Python运行进度条效果的实现代码

    六种酷炫Python运行进度条效果的实现代码,进度条,代码,六种,效果,酷炫 六种酷炫Python运行进度条效果的实现代码 易采站长站,站长之家为您整理了六种酷炫Python运行进度条效果的实现代码的 ...

  9. python实现进度条

    python实现进度条 编程要点 # system.out是标准输出流,标准输出流是终端窗口,与python的print函数有一定的关联 # print(obj)实质就是调用sys.stdout.wr ...

  10. Python 打印进度条

    Python 打印进度条 Python 打印字符串进度条 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2022/6/13 16:10 ...

最新文章

  1. 句法依存分析_[NLP学习笔记]句法分析
  2. 解决SQL注入与XSS攻击
  3. CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
  4. 适用于无服务器Java开发人员的AWS Lambda:它为您带来了什么?
  5. xpath helper小工具的安装
  6. git git 查看远程库_如何从Git远程存储库中提取
  7. 女子800米跑进4分30秒才合格,茅台回应应聘者需体测...
  8. 通向财务自由之路01_导读
  9. 博文视点算法书单|让算法学习不再难
  10. 基于51单片机超声波测距仪设计倒车雷达防撞报警器
  11. Excel插件POI-ET扩展(NiceXSSFWorkbook)说明
  12. 阿里云服务器升级openssl1.1.1k 2021-07最新
  13. MySQL学习笔记(七)视图,触发器,事务,存储过程,函数,流程控制,索引
  14. 关于STM32的IAP超详细图文解说
  15. LDC注册数据获取|ACE2004, ACE 2005,OntoNotes等数据
  16. c语言26字母排序,C语言,26个字母的冒泡排序
  17. IC芯片验证 - 手把手教你搭建UVM验证环境
  18. js获取浏览器高度和宽度值(多浏览器)
  19. html页面上使用vlc,在HTML页面上嵌入VLC插件
  20. DES_3DES_AES_IDES_RSA密码算法比较

热门文章

  1. Python基本知识以及if语句
  2. ES和JS的区别,以及JavaScript的基本组成
  3. ZJU-java进阶笔记 第六周(抽象与接口)
  4. 软件开发--深入理解程序的结构
  5. python3 _笨方法学Python_日记_DAY3
  6. 切版网上线,启用qieban.cn
  7. PHP Countable接口
  8. 微软MCITP系列课程
  9. Firebug Console 与命令行全集
  10. 想在SqlDbHelper.cs类中加的垃圾方法