python - 是否可以从同一个包中的模块访问 __init__.py 中的变量?

标签 python package

我有一个包含 good.py 模块的 hello1 包。

hello1
├── __init__.py
└── good.py

init模块有一个变量A = 1,我需要在good.py中访问变量hello1.A。

import hello1

class Good(object):
    def __init__(self):
        print hello1.A

if __name__ == "__main__":
    g = Good()

问题是,当我执行 python 脚本时,我得到 ImportError: 'No module named hello1' 错误。我可以添加 import sys; sys.path.append("..")good.py 的第一行进行快速修复。

但是,good.py 在 hello1 包中,__init__.py 也在其中,所以我想知道是否有办法从同一个包中的模块访问 __init__.py 中的变量。

最佳答案

来自 Python: import the containing package :

导入 __init__ 似乎工作正常。

import __init__

class Good(object):
    def __init__(self):
        print hello1.A

关于python - 是否可以从同一个包中的模块访问 __init__.py 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18274671/

相关文章:

python - 可以在 PYPI 上多用户上传吗

python - 如何在流水线后对回归预测进行逆变换?

python - 使用python删除一个文件中存在于另一个文件中的行

java - 我该如何解决 "java.lang.NoClassDefFoundError"?

python:用户站点中的包不会覆盖 ubuntu 上的 dist-packages

Android Studio 复制模块

java - 如何从文件反序列化到不同的类

python - 显式与 DRY - 哪种方式更 pythonic?

python - 我如何从 __init__ 调用属性 setter

python - 类声明参数在 python 中如何工作?