簡體   English   中英

如何不要求安裝tqdm?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM