zoukankan      html  css  js  c++  java
  • tqdm:Python 进度条

    Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息。用户只需要封装任意的迭代器,是一个快速、扩展性强的进度条工具库。

    用法:tqdm(iterator)

    pip install tqdm
    

    使用方法一: 传入可迭代对象

    import time
    from tqdm import *
    for i in tqdm(range(1000)):
        time.sleep(.01)    #进度条每0.1s前进一次,总时间为1000*0.1=100s
    
    100%|██████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:10<00:00, 93.97it/s]
    

    使用方法二: trange

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

    from tqdm import trange
    for i in trange(100):
        #do something
        pass
    
    100%|█████████████████████████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 99344.01it/s]
    

    使用方法三: 可以为进度条设置描述

    for 循环外部初始化 tqdm,可以打印其他信息:

    import time
    from tqdm import tqdm
    
    pbar = tqdm(["a", "b", "c", "d"])
    for char in pbar:
        # 设置描述
        pbar.set_description("Processing %s" % char)
        time.sleep(1)
    
    Processing d: 100%|██████████████████████████████████████████████████████████████████████| 4/4 [00:04<00:00,  1.00s/it]
    

    手动控制进度:

    import time
    from tqdm import tqdm
    
    # 一共200个,每次更新10,一共更新20次
    with tqdm(total=200) as pbar:
        for i in range(20):
            pbar.update(10)
            time.sleep(0.1)
    
    100%|████████████████████████████████████████████████████████████████████████████████| 200/200 [00:01<00:00, 98.87it/s]
    

    tqdm 的 write 方法

    bar = trange(10)
    for i in bar:
        time.sleep(0.1)
        if not (i % 3):
            tqdm.write("Done task %i" % i)
    
    Done task 0
    
    
      0%|                                                                                           | 0/10 [00:10<?, ?it/s]
      0%|                                                                                           | 0/10 [00:00<?, ?it/s]
     10%|████████▎                                                                          | 1/10 [00:00<00:01,  8.77it/s]
     20%|████████████████▌                                                                  | 2/10 [00:00<00:00,  9.22it/s]
                                                                                                                           
                                                                                                                           
    
    Done task 3
    
    
      0%|                                                                                           | 0/10 [00:10<?, ?it/s]
     30%|████████████████████████▉                                                          | 3/10 [00:00<00:01,  6.91it/s]
     40%|█████████████████████████████████▏                                                 | 4/10 [00:00<00:00,  9.17it/s]
     50%|█████████████████████████████████████████▌                                         | 5/10 [00:00<00:00,  9.28it/s]
                                                                                                                           
                                                                                                                           
    
    Done task 6
    
    
      0%|                                                                                           | 0/10 [00:10<?, ?it/s]
     60%|█████████████████████████████████████████████████▊                                 | 6/10 [00:00<00:00,  7.97it/s]
     70%|██████████████████████████████████████████████████████████                         | 7/10 [00:00<00:00,  9.25it/s]
     80%|██████████████████████████████████████████████████████████████████▍                | 8/10 [00:00<00:00,  9.31it/s]
                                                                                                                           
                                                                                                                           
    
    Done task 9
    
    
      0%|                                                                                           | 0/10 [00:11<?, ?it/s]
     90%|██████████████████████████████████████████████████████████████████████████▋        | 9/10 [00:01<00:00,  8.37it/s]
    100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00,  9.28it/s]
  • 相关阅读:
    Eclipse+Maven整合开发Java项目(二)➣webapp3.0以上的Maven项目
    Eclipse+Maven整合开发Java项目(一)➣Maven基础环境配置
    JAVA-ORM框架整理➣Mybatis操作MySQL
    Spring MVC基础知识整理➣Spring+SpringMVC+Hibernate整合操作数据库
    Spring MVC基础知识整理➣拦截器和自定义注解
    Spring MVC基础知识整理➣国际化和异常处理
    Spring MVC基础知识整理➣数据校验与格式化
    Spring MVC基础知识整理➣View与Controller数据交互
    面向过程,面向对象,函数式对同一个问题的思考方式
    分享一个简单程序(webApi+castle+Automapper+Ef+angular)
  • 原文地址:https://www.cnblogs.com/q735613050/p/10127531.html
Copyright © 2011-2022 走看看