我正在经历一个无法从中导入变量的问题__init__.py
。我用谷歌搜索我的问题,但是找不到我能理解的答案。
我的模块结构是:
my_module/
__init__.py
sub_module/
__init__.py
module_file.py
我文件中的内容是:
# my_module/__init__.py
from sub_module.module_file import show_variable
# sub_module/module_file.py
show_variable = "string needs to display"
但是当我尝试从sub_module访问变量时
from my_module import show_variable
通过一个错误
ImportError: cannot import name show_variable
有什么办法可以通过__init__.py
文件访问我的变量?等待您的宝贵回应。谢谢
您的示例应该起作用。
这对我有效(2.7.6):
# my_module/__init__.py
from sub_module.module_file import show_variable
# my_module/sub_module/__init__.py (empty)
# my_module/sub_module/module_file.py
show_variable = 'string needs to display'
# main.py
from my_module import show_variable
print show_variable
从my_module的父目录中:
>>> from my_module import show_variable
>>> print show_variable
string needs to display
您也可以尝试以下方法:
# my_module/__init__.py
from sub_module import show_variable
# my_module/sub_module/__init__.py
from .module_file import show_variable
也许是关于如何在Django下设置软件包的一些信息。相对于my_module包,正在加载my_module的文件在哪里?
在将单个模块重构为具有多个文件的包之前,我一直使用它,同时保留了替换的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句