Rag*_*age 10 python python-2.7
如何从导入的文件中调用函数?例如:
测试:
import test2
def aFunction():
print "hi there"
Run Code Online (Sandbox Code Playgroud)
测试2:
import test
aFunction()
Run Code Online (Sandbox Code Playgroud)
这给了我一个名称错误,说我的函数没有定义.我也尝试过:
from test import aFunction
Run Code Online (Sandbox Code Playgroud)
和:
from test import *
Run Code Online (Sandbox Code Playgroud)
我也尝试过不在test中导入test2.我是从C++开始使用Python的,所以我担心我会遗漏一些对资深Python程序员来说显而易见的东西......
Mar*_*ers 14
您正在创建循环导入.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()
Run Code Online (Sandbox Code Playgroud)