如何从同一目录导入PYTHON类文件?
问题描述
我的Python3.3项目中有一个名为/Models的目录。
从我的main.py
我只做了一个
from models import *
在我的__init__.py
中:
__all__ = ["Engine","EngineModule","Finding","Mapping","Rule","RuleSet"]
from models.engine import Engine,EngineModule
from models.finding import Finding
from models.mapping import Mapping
from models.rule import Rule
from models.ruleset import RuleSet
这在我的应用程序中工作得很好。
我有一个依赖于其他模型的模型,因此在我的engine.py
中,我需要在engine.py
中导入finding.py
。当我这样做时:from finding import Finding
我收到错误No Such Module exists
。
如何从同一模块/目录中的文件A导入类B?
解决方案
因为您使用的是不允许这些相对导入的Python3(这可能会导致不同包中同名模块之间的混淆)。
使用以下任一选项:
from models import finding
或
import models.finding
或者,可能是最好的:
from . import finding # The . means "from the same directory as this module"
相关文章