Python:从导入的文件调用函数
如何从导入的文件中调用函数?例如:
测试:
import test2
def aFunction():
print "hi there"
测试2:
import test
aFunction()
这给我一个名称错误,说我的函数未定义。我也尝试过:
from test import aFunction
和:
from test import *
我也尝试过不要在测试中导入test2。我正在从C ++入手Python,所以我担心我缺少一些对资深Python编程人员显而易见的东西…
-
您正在创建循环导入。
test.py
进口test2.py
试图进口test.py
。不要这样 在
test2
导入时test
,该模块尚未完成所有代码的执行。该功能尚未定义:-
test
被编译并执行,并且一个空模块对象被添加到中sys.modules
。 -
该行
import test2
运行。-
test2
被编译并执行,并且一个空模块对象被添加到中sys.modules
。 -
该行
import test
运行。 -
test
已作为模块存在于其中sys.modules
,此对象返回并绑定到名称test
。 - 下一行尝试运行
test.aFunction()
。中没有这样的名称test
。引发异常。
-
-
定义行
def aFunction()
永远不会执行,因为引发了异常。
删除该
import test2
行,然后test2.py
直接 运行,然后导入该函数即可正常进行:import test test.aFunction()
-