Python - 从更深层次的子文件夹导入

时间:2014-10-02 16:11:33

标签: python python-import directory-structure

不知何故,我无法在其他地方找到确切答案。

假设:

root\
    __init__.py
    main.py
    folder0\
        __init__.py
        folder1\
             __init__.py
             class1.py
        folder2\
             __init__.py
             class2.py

有没有办法整体导入顶级目录? e.g。

# main.py
import folder0
obj1 = folder0.folder1.class1.Class1()
obj2 = folder0.folder2.class2.Class2()

或者我必须直接导入模块吗? e.g。

# main.py
from folder0.folder1 import class1
from folder0.folder2 import class2
obj1 = class1.Class1()
obj2 = class2.Class2()

1 个答案:

答案 0 :(得分:3)

不确定。您只需将相关导入添加到__init__.py一直向下。 e.g:

# folder2/__init__.py
from . import class2

# folder0/__init__.py
from . import folder1
from . import folder2

等等。