我在不同的位置有兩個python腳本。我嘗試導入第二個函數的功能,使它們與第一個的全局函數集成。這工作正常。但是,當我從第二個腳本中調用函數時,他們找不到。如何從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()
bar.py
def func_in_bar():
func_in_foo_A()
func_in_foo_B()
當富時,它會失敗:NameError: global name 'func_in_foo_A' is not defined
'glob = loc = {}'可能不是一個好主意,因爲您然後共享相同的字典 –
右側,而不是使用loc無論如何:) – RickyA