如何解决python2.7 module dir无法识别子模块
versions/__init__.py
versions/v1_0.py
versions/v2_0.py
__init__.py
为空,但是每个v*.py
文件都定义了一些功能。然后,我尝试使用from versions import *
导入所有子模块,但是当我使用dir()
打印出所有已加载的模块时,它们未列出,并且我无法使用任何子模块功能,例如{{1} }
我是否错误地设置了v1_0.update()
模块?
这是一个最小的可复制示例:
下面是versions
和find
命令的结果,它们显示文件结构以及每个python文件的文件内容。
more
$ find .
.
./versions
./versions/__init__.py
./versions/__init__.pyc
./versions/v1_0.pyc
./versions/v1_0.py
使用此设置以及我在$ more versions/*.py
::::::::::::::
versions/__init__.py
::::::::::::::
::::::::::::::
versions/v1_0.py
::::::::::::::
def update():
pass
处的密码,我执行了以下操作:
.
解决方法
在python文档here中,我发现如果未定义__all__
,则from module import *
将仅初始化module
,然后导入在{{1}中显式定义的任何名称}。因此,在我的情况下,由于module
未明确定义versions/__init__.py
,因此不会导入。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。