tqdm 不可用时的简单回退进度条
Simple fallback progressbar when tqdm is not available
我有一个使用 tqdm
进度条的 python 包。但是,我不希望这成为我的包的用户的硬依赖。如果未安装 tqdm
,是否有一些简单的嵌入式解决方案可以轻松充当备用解决方案?
我正在使用tqdm.tqdm()
的total
和leave
属性,以及update
和close
的方法tqdm.tqdm
实例。
当然可以。
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)
我有一个使用 tqdm
进度条的 python 包。但是,我不希望这成为我的包的用户的硬依赖。如果未安装 tqdm
,是否有一些简单的嵌入式解决方案可以轻松充当备用解决方案?
我正在使用tqdm.tqdm()
的total
和leave
属性,以及update
和close
的方法tqdm.tqdm
实例。
当然可以。
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)