阻止 import_ipynb 执行导入的文件

Prevent import_ipynb from executing imported file

我有两个 .ipynb,我正在使用 import import_ipynb 从文件 B.ipynb 导入一个函数到文件 A.ipynb,但是当我使用 from A import something 这个 运行s 文件 A.ipynb 并打印我在该文件中打印的内容:
文件 A.ipynb:

for i in range(0, 5):
    print(i)
    
def something():
    return 'something'

文件B.ipynb:

import import_ipynb
from A import something

print(something())

当我运行 B.ipynb 输出是:

importing Jupyter notebook from A.ipynb
0
1
2
3
4
something

但是我刚刚导入了something函数,我不想在文件A.ipynb

中执行打印函数

只需将 __main__ == "__name__" 添加到文件 A 中,这样可以防止它 运行 如果它被导入。

if __name__ == "__main__":
    for i in range(0, 5):
       print(i)
    
def something():
    return 'something'