Импортировать несколько файлов как один модуль? - PullRequest
0 голосов
/ 12 января 2020

Я гонялся за своим хвостом последние 4 часа и не могу найти решение.

У меня есть следующая структура модуля / пакета для моего проекта.

.
├── app-cli.py
├── tools
│   ├── __init__.py
│   ├── adapters
│   │   ├── __init__.py
│   │   ├── cli.py
│   │   ├── web.py
│   ├── utils
│   │   ├── __init__.py
│   │   ├── core.py
│   │   │   ├── my_public_method()
│   │   ├── io.py
│   │   │   ├── some_other_public_method()

То, что я пытаюсь сделать, это связать все внутри utils в пределах пространства имен utils.

Так что когда я делаю import tools на основном уровне, я могу получить доступ к функциям утилит как:

tools.utils.my_public_method()
tools.utils.some_other_public_method()

Вместо:

 tools.utils.core.my_public_method()
 tools.utils.io.some_other_public_method()

Я редактировал __init__.py, возиться с уровнями импорта, пытаясь создать ярлык, но безуспешно.

1 Ответ

1 голос
/ 12 января 2020

В вашем __init__.py в пакете utils вы можете добавить

from .core import my_public_method
from .io import some_other_public_method

, а затем вы можете сделать:

import tools.utils

tools.utils.my_public_method()
tools.utils.some_other_public_method()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...