0

我在不同的位置有两个 python 脚本。我尝试以与第一个全局变量集成的方式导入第二个函数。这很好用。但是,当我从第二个脚本调用第一个脚本中的函数时,找不到它们。

foo.py

def run():
    glob = {}
    loc = {}
    execfile("/path/to/bar.py", glob, loc)
    currmodule = globals() 
    currmodule["func_in_bar"] = glob["func_in_bar"]
    func_in_bar()

def func_in_foo_A():
    print("fooA")

def func_in_foo_B():
    print("fooB")

if __name__ == "__main__":
    run()

酒吧.py

def func_in_bar():
    func_in_foo_A()
    func_in_foo_B()

当 foo 运行时,它会失败并显示:NameError: global name 'func_in_foo_A' is not defined

4

1 回答 1

1

bar.py您需要添加一个import foo然后引用foo.func_in_foo()等。

或者,使用以下表格:from foo import func_in_foo

于 2012-11-01T22:04:25.507 回答