热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python包管理:按类而非文件进行导入的最佳实践

在Python包管理中,推荐按照类而非文件进行导入,以提高代码的可维护性和模块化程度。假设我们有以下文件结构:`app/app.py`和`app/controllers/__init__.py`。通过这种方式,可以更好地组织和管理代码,确保模块之间的依赖关系清晰明了。

Say I have the following file structure:

假设我有以下文件结构:

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

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

如果app / controllers /项目。py定义了一个类项目,app.py会这样导入:

from app.controllers.project import Project

I'd like to just be able to do:

我想做的是:

from app.controllers import Project

How would this be done?

怎么做呢?

1 个解决方案

#1


80  

You need to put

你需要把

from project import Project

in controllers/__init__.py.

在控制器/ __init__ . py。

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.,

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

from .project import Project

推荐阅读
author-avatar
仰望天空说再见
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有