python - 在这种情况下如何配置 __init__.py?

标签 python python-2.7

我有一个具有以下结构的 python 应用程序。

/app
  /models
    __init__.py
    profile.py
  /views
    __init__.py
    index.py
    login.py
  __init.py
main.py

目前三个__init__.py文件都是空的。

在像 index.py 这样的文件中,我有几个类。

class IndexHandler(webapp2.RequestHandler):
    #blah blah

我应该在 __init.py__ 文件中编写什么,以便我可以调用 profile.pyindex.py 和等等而无需输入完整的包路径?

最佳答案

Python 中的命名空间是显式的。在每个 __init__.py 文件中,导入您希望在该包的命名空间中可用的任何模块、函数和类。

例如,如果您希望 app 包有一个 index 成员,请在 /app/__init__.py 中:

from views import index

或者,如果您希望类本身成为命名空间的一部分:

from models.views import IndexHandler

这将允许您执行以下操作:

import app
handler1 = app.index.IndexHandler()  # example 1
handler1 = app.IndexHandler()  # example 2

关于python - 在这种情况下如何配置 __init__.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14687914/

相关文章:

Python:xml.etree.ElementTree破坏xml格式

python - 使用 Paramiko 在命令内传递 Python 变量

python - 生成较大字典的排列的字典

python - 如何按索引对列表列进行切片

python - 无法使用 Pint 单位修饰类方法

python - 在 Python 中更改列表

python - Pandas groupby 在保留多个聚合的组内进行排序,并使用构面将其可视化

python - 无法在python中导入sklearn

python - 如何了解随机森林中特定样本的特征及其贡献

python - 我无法多次加载其中包含空列表的文件