Python软件包-按类而非文件导入 [英] Python packages - import by class, not file

查看:92
本文介绍了Python软件包-按类而非文件导入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

说我具有以下文件结构:

Say I have the following file structure:

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

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

If app/controllers/project.py defines a class Project, app.py would import it like this:

from app.controllers.project import Project

我只想做:

from app.controllers import Project

这将如何完成?

推荐答案

您需要输入

from project import Project

controllers/__init__.py中.

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

Note that when Absolute imports become the default (Python 2.7?), you will want to add a dot before the module name (to avoid collisions with a top-level model named project), i.e.,

from .project import Project

这篇关于Python软件包-按类而非文件导入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆