我很難理解'__init__.py'中聲明的對象是如何導入到其他文件的。在__init__.py中聲明的導入對象
我有這樣一個目錄結構,以便
top/
|
|_lib/
|_ __init__.py
|_ one.py
文件內容如下
LIB/__ init__.py
a=object()
LIB/one.py
from lib import a
這是問題所在。如果我從top
目錄火蟒外殼,下面的命令運行良好
>>> from lib.one import a
但是如果我更改目錄top/lib
,並在新的Python炮火類似的命令,我得到的錯誤。
>>> 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
但我真的想了解,爲什麼從top
目錄,而不是從top/lib
導入命令的作品。
謝謝。
這很有道理。謝謝 – Neo 2014-10-04 07:28:34