1
我以爲我理解Python 3的模塊模型,但也許不是。這個Python文件夾結構有什麼問題?
我有一棵樹,如:
root
\-- pmlr
\-- __init__.py * empty
\-- pmlr.py * full of definitions
當我在root
,我從Python3運行shell import pmlr
,pmlr
只有這些屬性(默認包__dict__
):
pmlr.__cached__ pmlr.__dir__( pmlr.__format__( pmlr.__hash__( pmlr.__lt__( pmlr.__package__ pmlr.__repr__( pmlr.__str__(
pmlr.__class__( pmlr.__doc__ pmlr.__ge__( pmlr.__init__( pmlr.__name__ pmlr.__path__ pmlr.__setattr__( pmlr.__subclasshook__(
pmlr.__delattr__( pmlr.__eq__( pmlr.__getattribute__( pmlr.__le__( pmlr.__ne__( pmlr.__reduce__( pmlr.__sizeof__(
pmlr.__dict__ pmlr.__file__ pmlr.__gt__( pmlr.__loader__ pmlr.__new__( pmlr.__reduce_ex__( pmlr.__spec__
這意味着python
認爲pmlr
是一個包,但它找不到它的任何屬性。
如果我cd pmlr
和然後導入它,所有模塊的屬性都會顯示出來。如果我從root
我import pmlr.pmlr
,顯示模塊的所有屬性。
如何使我的模塊可以從根目錄作爲其文件夾(pmlr
)而不是pmlr.pmlr
?我認爲__init__.py
是完成了這一點。
在'__init __。py'中使用'from .pmlr import *'。 –
@Rogalski回覆,謝謝 - 我沒有想到要這麼做 – cat