[英]How can I not require tqdm to be installed?
我想在脚本中使用tqdm,但如果其他人尚未安装,则不要求其他人使用它。
我发现了这一点:
try:
import tqdm
except ImportError:
tqdm = None
但是我不确定如何使用tqdm==None
:
with tqdm.tqdm(total=totalSize) as pbar:
其中totalSize
是文件大小(或遍历多个文件时文件大小的总和)。
我通常的做法是添加以下垫片:
try:
from tqdm import tqdm
except ImportError:
def tqdm(iterator, *args, **kwargs):
return iterator
现在,您可以始终使用tqdm,而不必担心它是否存在,因为回退将遍历您正在迭代的事物,而忽略所有与tqdm相关的选项。
for item in tqdm(items):
action(item)
诚然,您的用法( with
)与这种方法不兼容-但我会将其留给这里的人在for循环中使用,就像我通常使用的那样。
在tqdm 文档和try / except逻辑的帮助下,我可以进行以下工作:
try:
import tqdm
except ImportError:
tqdm = None
if (tqdm == None):
pbar = None
else:
pbar = tqdm.tqdm(total=totalSize)
#... inside the loop processing my file[s]...
if (pbar):
pbar.update(len(line))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.