3

我有一个使用tqdm进度条的 python 包。但是,我不希望这对我的包的用户来说是一个硬依赖。tqdm如果没有安装,是否有一些简单的插入式解决方案可以轻松充当后备?

我正在使用 的totalandleave属性tqdm.tqdm(),以及实例的updateandclose方法。tqdm.tqdm

4

1 回答 1

5

当然。

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)
于 2017-02-24T11:11:25.283 回答