调用__main__函数python之外的函数



如果我想以简化的方式解释这个问题,我有两个A.ipynbB.ipynb文件。在文件B中,我从文件A中的__main__外部调用了一个函数,但我无法访问它,并给出了NameError: name 'do' is not defined错误
文件A.ipynb:

if __name__ == "__main__":
def do(value):
print(value)
def func(value):
do(value)

文件B.ipynb:

import import_ipynb
from A import *
func('some text')

我想在执行文件B时,在控制台中看到"一些文本"作为输出。我认为(以任何可能的方式(:

def func(value):
main().do(value)

可以解决问题。

我认为您关注的是func()丢失/未定义,而实际上是do()丢失或未定义。

您的文件B能够找到func()的定义,但随后它尝试调用尚未定义的do(),因为if __name__子句阻止了它。

最新更新