python-3.x tqdm动态导入可在笔记本和脚本中工作

zzlelutf  于 2023-05-19  发布在  Python
关注(0)|答案(1)|浏览(301)

我正在尝试导入一个使用tqdm的函数。在某些情况下,我在笔记本中使用此函数,而在其他情况下,我在脚本中使用它。有以下选项:

# my_lib.py
from tqdm.notebook import tqdm  # option 1
from tqdm import tqdm           # option 2

# some function that uses tqdm
def my_fn():
    for i in tqdm(range(10)):
        pass

当我使用选项1时,当在脚本run.py中调用函数时,它会打印出奇怪的结果。

# run.py
from my_lib import my_fn

if __name__ == '__main__':
    my_fn()

当我使用选项2时,当在notebook test.ipynb中调用函数时,它会打印出奇怪的结果。

# test.ipynb

from my_lib import my_fn
my_fn()

如何在这个函数中使用tqdm,并使它在两种情况下都能正常工作?

6ss1mwsb

6ss1mwsb1#

迟做总比不做好。
只需要使用下面的import即可,

from tqdm.autonotebook import tqdm

这将自动在tqdm.notebooktqdm.std之间进行选择。
来源:https://tqdm.github.io/docs/shortcuts/#tqdmautonotebook

相关问题