使用__init__.py将子模块导入为子模块

时间:2018-07-05 14:07:05

标签: python import module package python-import

我想按照python 3中的这种布局制作一个模块:

test_import
├── __init__.py
└── src
    ├── __init__.py
    ├── sub_module
    │   ├── __init__.py
    │   └── test2.py
    └── test1.py

我希望能够以这种方式导入test2.py:

from test_import.sub_module import test2

如果所有文件__init__.py都是空的,我可以这样导入test2

from test_import.src.sub_module import test2

我试图将这段代码放在第一个__init__.py中:

from .src import sub_module
from .src import test1

我收到此错误:

>>> import test_import
>>> test_import.sub_module
<module 'test_import.src.sub_module' from '/usr/local/lib/python-dataswati/test_import/src/sub_module/__init__.py'>
>>> test_import.sub_module.test2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'test_import.src.sub_module' has no attribute 'test2'

但是我可以使用test_import.test1

第一个线索

我可以通过在test_import/src/sub_module/__init__.py中填充:

from . import test2

但是我不想为文件夹中的所有文件指定它。

我应该如何进行?

0 个答案:

没有答案