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. [转帖]12条用于Linux的MySQL/MariaDB安全最佳实践

    12条用于Linux的MySQL/MariaDB安全最佳实践 2018-01-04 11:05:56作者:凉凉_,soaring稿源:开源中国社区 https://ywnz.com/linuxysjk ...

  2. python -- TypeError: 'module' object is not callable

    文件: 代码: import pprintmessge = 'It was a bringht cold day in April,and the clocks were striking thrir ...

  3. gRPC 本地服务搭建

    RPC RPC 原理 主流 RPC 框架 gRPC 概述 特点 服务端创建 定义服务 生成 gRPC 代码 服务端实现 客户端实现 踩坑记录 源码 RPC RPC 原理 RPC 框架的目标就是让远程服 ...

  4. MFC使用ado连接SQLserver

    https://blog.csdn.net/GK_2014/article/details/50530103

  5. 【重启C++】-- 序

    好久没看C++的东西了,该忘的也忘得差不多了,现在又要开始学,一点一滴的记录起来吧.

  6. php 取post数据的三种方式

    $_POST.$GLOBALS['HTTP_RAW_POST_DATA'].file_get_contents("php://input") 都有用来取post数据,用下来感觉大致 ...

  7. BZOJ 4899 记忆的轮廓

    话说BZOJ 是不是死了啊 (已经没有传送门了) 设 $f[i][j]$ 表示走到第 $j$ 个位置确定了 $i$ 个存档点时的最小代价,并强制第 $j$ 个位置有一个存档点 那么设 $cst[i][ ...

  8. luogu P2765 魔术球问题 (最小路径覆盖)

    大意:给定n根柱子, 依次放入1,2,3,...的球, 同一根柱子相邻两个球和为完全平方数, 求最多放多少个球. 对和为平方数的点连边, 就相当于求DAG上最小路径覆盖. #include <i ...

  9. SpringBoot 进阶

    SpringBoot 进阶 这里讲两个小方面: 表单验证 AOP 1. 表单验证 SpringBoot 中的表单验证功能步骤如下: 在 controller 类中将用 @PathVariable 和 ...

  10. Zend 3.3.0安装 ZendOptimizer 3.3.0 for Windows 稳定版 下载

    用的某php网站系统今天打开时乱码了(zend 200407...),但phpmyadmin能正常使用: 搜索下,重新安装zend可以解决,系统上原来的版本是Zend 3.3.0:下了个,安装后果然把 ...