Modülleri aldığımda, bu iç içe geçmiş senaryo düzgün çalışır. Ama paketleri almaya çalıştığımda tutarsız sonuç aldım. Benim geçerli klasörünpython: 'iç içe' modülleri olan içe aktarılan paketler
içeriği: Bu script
mypackages <directory>
__init__.py
one.py
two.py
three.py
: Burada çok basit bir dava
__init__.py :
import one
one.py :
import two
two.py :
import three
ben erişebilir olması gerektiğini bekliyorum iki ve üç bu şekilde:
import mypackages
mypackages.one.two
mypackages.one.two.three
veya diğer kelime mantıksal seviye böyle olmalıdr:
>>> import mypackages
>>> print dir(mypackages)
['__builtins__', '__doc__', '__file__', '__name__', '__package__',
'__path__', 'one', 'three', 'two']
Bu anlaşma: i ne zaman ithalat mypackages Ama ben var aynı seviyede maruz tüm modüller
one
two
three
Sadece one
modülünü göster, değil mi? bunların aynı seviyede oldukları anlamına gelir tüm one , two
ve three
(i mypackages.two ve mypackages.three doğrudan kullanabilirsiniz) gösterir neden karıştı.
Herhangi bir açıklaması var mı?