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]

最新文章

  1. Eclipse中的checkstyle插件
  2. SAX解析xml文件
  3. 定时器的fireDate指的是触发时间
  4. [Tool] 使用StyleCop验证命名规则
  5. c++cin.ignore()
  6. 通过CSS让html网页中的内容不可选
  7. Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool
  8. 一道月薪3W的java面试题 (小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日)
  9. 干了这杯Java之LinkedList
  10. JNI参考的资料
  11. Centos7安装GitLab
  12. Netty中的连接管理
  13. python3字符串操作
  14. EF 排序扩展
  15. java代码示例(6-1)
  16. JavaScript数组实现图片轮播
  17. java 类加载机制和反射机制
  18. MVC的前端和后端的Model Binding
  19. 低版本系统兼容的ActionBar(四)添加Tab+添加自定义的Tab视图+Fragment
  20. 【紫书】【重要】Abbott&#39;s Revenge UVA - 816 bfs 复杂模拟 带方向参数的迷宫

热门文章

  1. c++文件指针读写图片文件
  2. [转帖]快速部署Telegraf &amp; Influxdb
  3. yum方式安装mono
  4. [转帖]mysql8.0忘记密码如何操作?
  5. Spring系列三:IoC 与 DI
  6. java持续添加内容至本地文件
  7. STL pair 常见用法详解
  8. 虚拟机(Vmware)安装ubuntu18.04和配置调整(一)
  9. Python接口开发小知识
  10. import xxx和from xxx import xx中修改被导入模块里面的变量的坑