モジュールをインポートすると、このネストされたシナリオは正常に動作します。しかし、私がパッケージをインポートしようとすると、私は一貫性のない結果を得ました。私の現在のフォルダのpython: 'ネストされた'モジュールを持つインポートされたパッケージ
内容::これはスクリプトである
mypackages <directory>
__init__.py
one.py
two.py
three.py
:ここでは非常に単純なケースです
__init__.py :
import one
one.py :
import two
two.py :
import three
私がアクセスできるようになりますことを期待していが、と3つのこのように:
import mypackages
mypackages.one.two
mypackages.one.two.three
または他の言葉で論理レベルは、このようなことshoul:
one
two
three
しかし、私は輸入mypackagesを行うとき、私はすべてのモジュールが同じレベルで露出ました:
>>> import mypackages
>>> print dir(mypackages)
['__builtins__', '__doc__', '__file__', '__name__', '__package__',
'__path__', 'one', 'three', 'two']
それはすべきですone
モジュールを表示するだけですか? それは彼らが同じレベル(私は直接mypackages.twoとmypackages.threeを使用することができます)であることを意味しているすべてのone , two
とthree
を示し、なぜ私は混乱しています。
説明はありますか?