我有一個像這樣的py文件,出錯了。Python導入不一致的行爲
from world import acme
def make_stuff_happen():
acme.account.foo() # Works
acme.subscription.bar() # FAIL: "module 'object' has no attribute 'subscription'"
make_stuff_happen()
但這個工程!
from world import acme
from world.acme import subscription
def make_stuff_happen():
acme.account.foo() # Works
subscription.bar() # Now this works.
make_stuff_happen()
我只能說是WTF,可能是什麼原因造成的? 行爲應該至少對acme.account
和acme.subscription
一致。
謝謝!極致文件夾的
更新 - 文件夾結構:
acme
|-- __init__.py
|-- account.py
|-- catalog.py
|-- core.py
|-- proxy.py
|-- subscription.py
`-- utils.py
而且__init__.py
是完全空白的。
請告訴我們您的文件夾結構如何:是'acme'目錄還是文件?如果它是一個目錄,那麼當你導入acme時,你正在導入'acme/__ init __。py'',它可能沒有'subscription'。 – Escualo 2010-07-23 16:56:16
我更新了信息 – adamJLev 2010-07-23 17:01:14