我正在使用tqdm
在 python 中显示进度条的包。
tqdm 还有一个用于 Jupyter notebooks ( tqdm_notebook()
) 的小部件,允许一个漂亮的“web-ish”进度条。
我的问题是我在文件中有一个 tqdm 进度条code.py
,我将其导入到 jupyter 笔记本中。
在code.py
从常规 python 环境(即Ipython
, IDLE
, shell
)运行时,我希望 tqdm 以正常形式运行:
from tqdm import tqdm
a = 0
for i in tqdm(range(2000)):
a+=i
但是当我导入code.py
Jupyter 时,我希望它使用tqdm_notebook()
:
from tqdm import tqdm_notebook as tqdm
a = 0
for i in tqdm(range(2000)):
a+=i
如何让 python 区分环境?
我发现这篇文章建议检查get_ipython().__class__.__name__
或'ipykernel' in sys.modules
但它不区分笔记本和其他 Ipython 外壳(例如在 Spyder 或 IDLE 中)。