zoukankan      html  css  js  c++  java
  • tqdm中遇到的问题

    1.tqdm是什么?

    https://github.com/tqdm/tqdm

    简单来说,就是可以显示进度条的,它能够迭代可迭代对象。

    然后又测试它是否能用枚举:

     感觉不行,打印不了进度条了。

    2.例子

    https://stackoverflow.com/questions/42212810/tqdm-in-jupyter-notebook-prints-new-progress-bars-repeatedly

    from time import sleep
    from tqdm import tqdm
    
    values = range(3)
    with tqdm(total=len(values)) as pbar:
        for i in values:
            pbar.write('processed: %d' %i)
            print('++++++++++
    ')
            pbar.update(1)

    输出:

      0%|          | 0/3 [00:00<?, ?it/s]
                                         
    processed: 0
    
      0%|          | 0/3 [00:00<?, ?it/s]++++++++++
    
    
                                         
    processed: 1
    
     33%|███▎      | 1/3 [00:00<00:00, 11.57it/s]++++++++++
    
    
     67%|██████▋   | 2/3 [00:00<00:00, 17.25it/s]
                                                 
    processed: 2
    
     67%|██████▋   | 2/3 [00:00<00:00, 17.25it/s]++++++++++
    
    
    100%|██████████| 3/3 [00:00<00:00, 16.98it/s]

     为什么上面0/2会出现重复呢?

    但是在jupyter中就可以发现,它是非常正常的:

     如果将tqdm修改为trange的话,输出也同样会有偶数的重复:

    with trange(len(values)) as pbar:

    输出:

      0%|          | 0/3 [00:00<?, ?it/s]
                                         
    processed: 0
    
      0%|          | 0/3 [00:00<?, ?it/s]++++++++++
    
    
                                         
    processed: 1
    
     33%|███▎      | 1/3 [00:00<00:00, 11.52it/s]++++++++++
    
    
     67%|██████▋   | 2/3 [00:00<00:00, 17.75it/s]
                                                 
    processed: 2
    
     67%|██████▋   | 2/3 [00:00<00:00, 17.75it/s]++++++++++
    
    
    100%|██████████| 3/3 [00:00<00:00, 18.68it/s]

     同样在jupyter中也是非常正常的,是否是stdout和stderr的问题?

    上面链接中有关于stdout和stderr的,我真的不太明白。

    with tqdm(total=len(values),file=sys.stdout) as pbar:

    如果添加到这一句的话,file进行重定向到stdout,那么输出就是蓝色的,不加的话输出就是红色的!

    在idle上和jupyter上是真的不一样啊,这是怎么回事呢。这个我先放一放吧。

  • 相关阅读:
    word文档的图片怎么保存到Web编辑器上
    如何在linux下查看gpu信息

    lua注释
    readDouble
    ..在lua中运用
    C++条件分支结构
    C++条件分支结构
    Flink基础(十六):Table API 和 Flink SQL(一)整体介绍
    Flink基础(十四):DS简介(14) 搭建Flink运行流式应用
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/13339488.html
Copyright © 2011-2022 走看看