Python从其他文件导入类

时间:2017-12-23 09:39:24

标签: python

我在同一目录下有三个文件,即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

1 个答案:

答案 0 :(得分:1)

这是因为你没有正确使用它

当你使用下面的import语句时,只导入了Newstester文件

import Newtester

因此,您不必直接使用parseFuncSpec(),而必须将其用作Newtester.parseFuncSpec()

或直接使用parseFuncSpec(),您需要使用以下import语句:

from Newtester import parseFuncSpec