我在同一目录下有三个文件,即main.py,Newtester.py和fileUtility.py。在Newtester.py中有一个名为Function的类。在main.py中,有以下代码:
from file.py import *
...
def main():
...
funcs = parseFuncSpec(funcInputFile)
parseFuncSpec在fileUtilities.py中定义为:
some code to import Newtester.py
def parseFuncSpec(fName):
curFunc = function(funcName, numTest, [], score)
无论我在导入Newtester.py时输入什么,我总是会收到一条错误,说“功能”(文件“Newtester.py”中定义的类)未定义。在Python: How to import other Python files之后,我尝试了
import Newtester
__import__("Newtester")
exec("Newtester.py")
exec("Newtester")
import importlib
importlib.__import__("Newtester")
os.system("Newtester.py")
但他们似乎都没有工作。任何建议表示赞赏。如果您对查看完整文件感兴趣,请参阅https://github.com/r2dong/unitTesting。
答案 0 :(得分:1)
这是因为你没有正确使用它
当你使用下面的import语句时,只导入了Newstester文件
import Newtester
因此,您不必直接使用parseFuncSpec()
,而必须将其用作Newtester.parseFuncSpec()
或直接使用parseFuncSpec()
,您需要使用以下import语句:
from Newtester import parseFuncSpec