在我工作的Python目錄創建:爲什麼我不能調用packagename.modulename.foo()?
packagename/__init__.py
packagename/modulename.py
test.py
在modulename.py我創造了一些空的類:
class Someclass(object):
pass
在test.py:
import packagename
packagename.modulename.Someclass()
爲什麼我可以」在test.py中調用packagename.modulename.someclass()?
AttributeError: 'module' object has no attribute 'modulename'
我的理解是正確的做法是:
import packagename.modulename
或
from packagename import modulename
但我不明白爲什麼我在我的情況下,出現此錯誤。
更新:
換句話說,有沒有辦法導入包的內容與在不同的命名空間中的所有模塊? 我需要正確的Python的表達式爲:
from packagename import * as mynamespace
我需要在packagename/__ init_.py中列出所有軟件包的模塊,對不對? 我想我需要正確的python表達式「from packagename import * as mynamespace」。 – Alex 2009-12-27 22:14:41
我認爲這就是'將包名稱導入mynamespace'。 – 2009-12-28 00:40:50