Python软件包-按类而非文件导入

时间:2020-03-05 18:47:59  来源:igfitidea点击:

说我有以下文件结构:

app/
  app.py
  controllers/
    __init__.py
    project.py
    plugin.py

如果app / controllers / project.py定义了一个Project类,则app.py会像这样导入它:

from app.controllers.project import Project

我只想能够:

from app.controllers import Project

怎么办呢?

解决方案

回答

你需要把

from project import Project

controllers / __ init __。py中。

请注意,当"绝对导入"成为默认设置(Python 2.7?)时,我们需要在模块名称前添加一个点(以避免与名为" project"的顶级模型发生冲突),即,

from .project import Project