我有一個目錄,其中有.py
個文件。每個文件都定義了一些類。我在目錄中也有一個空的__init__.py
。模塊沒有屬性
例如:
myproject
__init__.py
mymodule
__init__.py
api.py
models.py
views.py
我試圖導入mymodule
和訪問所有這些文件中定義的類:
from myproject import mymodule
print mymodule.api.MyClass
它給了我一個錯誤,指出mymodule
有沒有屬性api
。爲什麼?爲什麼我只能訪問其中一個文件(models.py
)而不是其他文件?
In [2]: dir(banners)
Out[2]:
['__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'__path__',
'models']
我知道我可以做到這一點。是否可以使用虛線名稱? – akonsu 2012-01-17 17:47:42
@akonsu,只需執行'import myproject.mymodule.api',然後通過'myproject.mymodule.api.MyClass'訪問它。 – 2012-01-17 17:50:57
好吧,我認爲這是一個關於一般語言的問題,而不是關於如何讓我的代碼工作。我很好奇這是否可以實現。我可以通過'mymodule.api ...'來訪問我的課程嗎?沒有領先的'myproject'? – akonsu 2012-01-17 17:53:23