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. Java-Redis JdkSerializationRedisSerializer和StringRedisSerializer

    在将redis中存储的数据进行减一操作时出现: io.lettuce.core.RedisCommandExecutionException: ERR value is not a valid flo ...

  2. Linux下使用 minicom 自动重复发送数据的实现

    目录 在minicom中添加脚本路径 编写脚本 执行脚本 一个项目里要用的设备需要用串口来模拟传感器来测试,还是Linux下的. 串口助手cutecom很好用,但是不能定时发送数据. 所以用下面这个脚 ...

  3. spring-boot 使用servlet2.5(四)

    环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 背景 由于环境限制,还在使用 servlet 2.5,所以需要将 spring boot 进行配置,支持 se ...

  4. java中的 |=、&=、^=

    |=  关于 |= 运算符:|= 运算符和 += 这一类的运算符一样,拆解开就是 a = a | b: 代码如下: public static strictfp void main(String[] ...

  5. RMQ+差分处理(Let Them Slide)Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)

    题意:https://codeforc.es/contest/1208/problem/E 现有n行w列的墙,每行有一排连续方块,一排方块可以左右连续滑动,且每个方块都有一个价值,第i 列的价值定义为 ...

  6. 后缀数组 LCP--模板题

    题意: 给你S串和T串,用T串的所有前缀去匹配S串(匹配值是最长公共子串). 问你总值相加是多少. 思路: 先把两个S,T串倒过来,再拼接 S#T 合成一串,跑一下后缀数组 在排序好的rank里计算每 ...

  7. JS实现点击查看密码功能,再次点击隐藏密码!

    <table border='1'> <tr> <td>aaaa</td> <td onclick="myFunction(this.i ...

  8. 一次生产的JVM优化

    背景 生产环境有二台阿里云服务器,均为同一时期购买的,CPU.内存.硬盘等配置相同.具体配置如下: 节点 CPU 内存 硬盘 其它 A 2CPU 4G 普通云盘 Centos6.4 64位+JDK1. ...

  9. T100-----汇出EXCEL表格

    例子:cxmp541 #excel匯出功能 ON ACTION exporttoexcel LET g_action_choice="exporttoexcel" IF cl_au ...

  10. Online Meeting CodeForces - 420B (思维)

    大意: 给定某一段连续的上线下线记录, 老板上线或下线时房间无人, 并且每次会议都在场, 求哪些人可能是老板. 结论1: 从未出现过的人一定可以是老板. 结论2: 出现过的人中老板最多只有1个. 结论 ...