tqdm 是 Python 进度条库。

tqdm库下面有2个类我们经常使用:

1.

2.

可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator)

trange(i) 是 tqdm(range(i)) 的简单写法。

可以总结为三个方法:

方法一:

# 方法1:
import time
from tqdm import tqdm for i in tqdm(range()):
time.sleep(0.01) 方法1+:
import time
from tqdm import trange for i in trange():
time.sleep(0.01)

结果如下:

  %|          | / [:<?, ?it/s]
%|█ | / [:<:, .10it/s]
%|██ | / [:<:, .77it/s]
%|███ | / [:<:, .71it/s]
%|████ | / [:<:, .49it/s]
%|█████ | / [:<:, .56it/s]
%|██████ | / [:<:, .82it/s]
%|███████ | / [:<:, .57it/s]
%|████████ | / [:<:, .44it/s]
%|█████████ | / [:<:, .82it/s]
%|██████████| / [:<:, .81it/s]
%|██████████| / [:<:, .91it/s]
%| | / [:<?, ?it/s]
%|█ | / [:<:, .74it/s]
%|██ | / [:<:, .20it/s]
%|███ | / [:<:, .83it/s]
%|████ | / [:<:, .83it/s]
%|█████ | / [:<:, .57it/s]
%|██████ | / [:<:, .90it/s]
%|███████ | / [:<:, .88it/s]
%|████████ | / [:<:, .00it/s]
%|█████████ | / [:<:, .69it/s]
%|██████████| / [:<:, .76it/s]
%|██████████| / [:<:, .71it/s]

方法二:可以为进度条设置描述

import time
from tqdm import tqdm pbar = tqdm(["a", "b", "c", "d"])
for char in pbar:
# 设置描述
pbar.set_description("Processing %s" % char)
time.sleep(0.2)
                %|          | / [:<?, ?it/s]
Processing a: %| | / [:<?, ?it/s]
Processing a: %|██▌ | / [:<:, .99it/s]
Processing b: %|██▌ | / [:<:, .99it/s]
Processing b: %|█████ | / [:<:, .99it/s]
Processing c: %|█████ | / [:<:, .99it/s]
Processing c: %|███████▌ | / [:<:, .99it/s]
Processing d: %|███████▌ | / [:<:, .99it/s]
Processing d: %|██████████| / [:<:, .99it/s]
Processing d: %|██████████| / [:<:, .99it/s]

方法三:手动更新

import time
from tqdm import tqdm # 一共200个,每次更新10,一共更新20次
with tqdm(total=200) as pbar:
pbar.set_description("Processing")
for i in range(20):
pbar.update(10)
time.sleep(0.1) #方法2:
pbar = tqdm(total=200)
for i in range(20):
pbar.update(10)
time.sleep(0.1)
pbar.close()
              0%|          | 0/200 [00:00<?, ?it/s]
Processing: 0%| | 0/200 [00:00<?, ?it/s]
Processing: 10%|█ | 20/200 [00:00<00:00, 198.53it/s]
Processing: 15%|█▌ | 30/200 [00:00<00:01, 152.68it/s]
Processing: 20%|██ | 40/200 [00:00<00:01, 131.50it/s]
Processing: 25%|██▌ | 50/200 [00:00<00:01, 119.83it/s]
Processing: 30%|███ | 60/200 [00:00<00:01, 112.82it/s]
Processing: 35%|███▌ | 70/200 [00:00<00:01, 108.39it/s]
Processing: 40%|████ | 80/200 [00:00<00:01, 105.48it/s]
Processing: 45%|████▌ | 90/200 [00:00<00:01, 103.54it/s]
Processing: 50%|█████ | 100/200 [00:00<00:00, 102.21it/s]
Processing: 55%|█████▌ | 110/200 [00:01<00:00, 101.32it/s]
Processing: 60%|██████ | 120/200 [00:01<00:00, 100.70it/s]
Processing: 65%|██████▌ | 130/200 [00:01<00:00, 100.27it/s]
Processing: 70%|███████ | 140/200 [00:01<00:00, 100.17it/s]
Processing: 75%|███████▌ | 150/200 [00:01<00:00, 100.00it/s]
Processing: 80%|████████ | 160/200 [00:01<00:00, 99.78it/s]
Processing: 85%|████████▌ | 170/200 [00:01<00:00, 99.75it/s]
Processing: 90%|█████████ | 180/200 [00:01<00:00, 99.60it/s]
Processing: 95%|█████████▌| 190/200 [00:01<00:00, 99.71it/s]
Processing: 100%|██████████| 200/200 [00:01<00:00, 99.68it/s]
Processing: 100%|██████████| 200/200 [00:02<00:00, 99.39it/s] 0%| | 0/200 [00:00<?, ?it/s]
10%|█ | 20/200 [00:00<00:00, 198.60it/s]
15%|█▌ | 30/200 [00:00<00:01, 152.73it/s]
20%|██ | 40/200 [00:00<00:01, 131.51it/s]
25%|██▌ | 50/200 [00:00<00:01, 119.83it/s]
30%|███ | 60/200 [00:00<00:01, 112.82it/s]
35%|███▌ | 70/200 [00:00<00:01, 108.38it/s]
40%|████ | 80/200 [00:00<00:01, 105.37it/s]
45%|████▌ | 90/200 [00:00<00:01, 103.56it/s]
50%|█████ | 100/200 [00:00<00:00, 102.19it/s]
55%|█████▌ | 110/200 [00:01<00:00, 101.52it/s]
60%|██████ | 120/200 [00:01<00:00, 100.93it/s]
65%|██████▌ | 130/200 [00:01<00:00, 100.43it/s]
70%|███████ | 140/200 [00:01<00:00, 100.08it/s]
75%|███████▌ | 150/200 [00:01<00:00, 100.04it/s]
80%|████████ | 160/200 [00:01<00:00, 99.90it/s]
85%|████████▌ | 170/200 [00:01<00:00, 99.92it/s]
90%|█████████ | 180/200 [00:01<00:00, 99.81it/s]
95%|█████████▌| 190/200 [00:01<00:00, 99.86it/s]
100%|██████████| 200/200 [00:01<00:00, 99.78it/s]
100%|██████████| 200/200 [00:02<00:00, 99.47it/s]

tqdm模块的更多相关文章

  1. hdf5文件、tqdm模块、nunique、read_csv、sort_values、astype、fillna

    pandas.DataFrame.to_hdf(self, path_or_buf, key, **kwargs): Hierarchical Data Format (HDF) ,to add an ...

  2. [Python]-tqdm模块-给for循环加上进度条

    import tqdm 使用tqdm模块,可以在漫长的for循环加上一个进度条,显示当前进度百分比. 将tqdm写在迭代器之外即可:tqdm(iterator) for i in tqdm(range ...

  3. (数据科学学习手札53)Python中tqdm模块的用法

    一.简介 tqdm是Python中专门用于进度条美化的模块,通过在非while的循环体内嵌入tqdm,可以得到一个能更好展现程序运行过程的提示进度条,本文就将针对tqdm的基本用法进行介绍. 二.基本 ...

  4. python的tqdm模块

    Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator). 根据要求安装依赖即可. 可以很方便的在 ...

  5. python的tqdm模块介绍

    https://www.jianshu.com/p/b27318efdb7b Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator) ...

  6. python实现进度条

    先说一下文本系统的控制符: \r: 将光标移动到当前行的首位而不换行: \n: 将光标移动到下一行,并不移动到首位: \r\n: 将光标移动到下一行首位. 环境: root@ubuntu16:/ale ...

  7. 万能的Python,还能用来制作高大上的进度条?

    对于开发或者运维来说,使用Python去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效的监控任务的进度,除了在任务中加上log外,还能不能有另一种方式来了解任务进展到哪一步了呢? ...

  8. 【Python】给程序加个进度条

    对于开发或者运维来说,使用 Python 去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效地监控任务的进度?除了在任务中加上 Log 外,还能不能有另一种方式来了解任务进展到哪一步 ...

  9. 用 Python 给程序加个进度条,让你的看起来更炫酷?

    对于开发或者运维来说,使用 Python 去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效地监控任务的进度?除了在任务中加上 Log 外,还能不能有另一种方式来了解任务进展到哪一步 ...

随机推荐

  1. beautifulsoap爬虫

    从html文件读 from bs4 import BeautifulSoup html_doc="文件地址" html_file=open(html_doc,"r&quo ...

  2. 【转】redis数据库入门教程(全面详细)+面试问题

    [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis ...

  3. 大数据之Zookeeper概述

    Zookeeper概述 Zookeeper是一个开放源码的分布式应用程序协调服务,是 Google的Chubby一个开源的实现,是 Hadoop和 HBASE的重要组件.主要解决分布式应用一致性问题. ...

  4. MySQL如何利用索引优化ORDER BY排序语

    MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...

  5. socket传送文件格式的问题

    在python3中socket传送文件只能传送‘bytes'类型,如下例子: import socket client = socket.socket()client.connect(("l ...

  6. HORSE PILL--一种新型的linux rootkit

    资料 ppt:https://www.blackhat.com/docs/us-16/materials/us-16-Leibowitz-Horse-Pill-A-New-Type-Of-Linux- ...

  7. 学习实践:使用模式,原则实现一个C++数据库访问类

    一.概述 在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦, ...

  8. Neo4j Cypher语法(三)

    目录 5 函数 5.1 谓词函数 5.2 标量函数 5.3 聚合函数 5.4 列表函数 5.5 数学函数 5.6 字符串函数 5.7 Udf与用户自定义函数 6 模式 6.1 索引 6.2 限制 7 ...

  9. WIN7(WINDOWS7)在添加网络打印机时提示这个,这里的密码是什么密码,能不能不用密码?

    360急救箱应该提高计算机的网络访问安全性,加上与验证机制,所以当你要访问的网络资源,你需要输入用户名和密码进行认证. 1,点击“开始 - 运行”,输入gpedit.msc然后按Enter键. 2,计 ...

  10. sql server 多条数据字段合并及创建临时表 FOR XML PATH

    SELECT 字段=(SELECT b.合并字段+',' FROM 表一 AS b WHERE b.相同条件=a.相同条件 FOR XML PATH('')) FROM 表一 AS a DECLARE ...