【发布时间】:2014-10-04 07:05:43
【问题描述】:
我无法理解在“__init__.py”中声明的对象是/应该如何导入其他文件的。
我有一个这样的目录结构
top/
|
|_lib/
|_ __init__.py
|_ one.py
文件内容如下
lib/__init__.py
a=object()
lib/one.py
from lib import a
这就是问题所在。如果我从top 目录触发 python shell,则以下命令运行良好
>>> from lib.one import a
但是,如果我将目录更改为 top/lib 并在新的 python shell 中触发类似的命令,则会出错。
>>> from one import a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "one.py", line 1, in <module>
from lib import a
ImportError: No module named lib
当然,我可以像这样更改one.py,这样一切正常。
from __init__ import a
但我真的很想了解,为什么 import 命令从 top 目录而不是 top/lib 工作。
谢谢。
【问题讨论】:
标签: python python-module