2015-09-12 55 views
0

我的Python庫有這樣的結構:導入與__init__.py withot使用文件名的模塊

sisipp 
├── __init__.py  #1 
├── analysis 
│ ├── __init__.py #2 
│ └── fil.py 
└── core 
    ├── __init__.py #3 
    ├── method.py 
    └── utils.py 

這是第INIT的.py:

from __future__ import division, absolute_import 
__all__ = ['analysis', 'core'] 

from . import core 
from . import analysis 

這是init .py in core

from __future__ import absolute_import 
__all__ = ['ob', 'method', 'utils'] 

from .method import sate 
from .utils import load4tar 

當我加載模塊sate(這在sisipp /型芯/ method.py):

from sisipp.method import sate 

工作。我的問題是,如果我喜歡使進口沒有.method

from sisipp import sate 

我如何做到這一點?謝謝。

回答

0

你必須將其導入sisipp/__init__.py

from __future__ import division, absolute_import 
__all__ = ['analysis', 'core', 'sate'] 

from . import core 
from . import analysis 
from .core.method import sate 
+0

我想你的意思'來自進口。核心sate' .core.method進口sate'或至少'(這依賴於'core'導入'sate'到自己的名字空間)。 – Blckknght

+0

@Blckknght:我確實,謝謝。 (我實際上並不喜歡相對的進口,所以我很少使用它們並勸阻它們,但我想保持與OP相同的風格。) – mipadi

相關問題