微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python2.7 module dir无法识别子模块

如何解决python2.7 module dir无法识别子模块

我有一个像这样设置的python模块目录:

versions/__init__.py
versions/v1_0.py
versions/v2_0.py

__init__.py为空,但是每个v*.py文件都定义了一些功能。然后,我尝试使用from versions import *导入所有子模块,但是当我使用dir()打印出所有已加载的模块时,它们未列出,并且我无法使用任何子模块功能,例如{{1} }

我是否错误地设置了v1_0.update()模块?

这是一个最小的可复制示例:

下面是versionsfind命令的结果,它们显示文件结构以及每个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 举报,一经查实,本站将立刻删除。