tqdm不可用时的简单回退进度条

时间:2017-02-24 11:07:22

标签: python progress fallback tqdm

我有一个使用tqdm进度条的python包。但是,我不希望这是我的软件包用户的硬依赖。是否有一些简单的插入式解决方案,如果未安装tqdm,可以轻松地作为后备?

我使用total的{​​{1}}和leave属性,以及tqdm.tqdm()实例的updateclose方法

1 个答案:

答案 0 :(得分:4)

不确定

def noobar(itrble, desc):
  """Simple progress bar. To be used if tqdm not installed."""
  L  = len(itrble)
  print('{}: {: >2d}'.format(desc,0), end='')
  for k,i in enumerate(itrble):
    yield i
    p = (k+1)/L
    e = '' if k<(L-1) else '\n'
    print('\b\b\b\b {: >2d}%'.format(int(100*p)), end=e)
    sys.stdout.flush()

尝试

from time import sleep
for i in noobar(range(5),"my work"):
  sleep(1)