Как использовать относительные пути при импорте?

В Python относительные пути используются для импорта модулей или пакетов из других папок, находящихся в том же проекте. Они позволяют организовывать код в более гибкой и структурированной форме.

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

Предположим, у вас есть следующая структура проекта:

my_project/
├── main.py
├── folder1/
│   ├── module1.py
│   └── module2.py
└── folder2/
    ├── subfolder1/
    │   └── module3.py
    └── subfolder2/
        └── module4.py

Возьмем в качестве примера модуль module2.py, который хотим импортировать в main.py. Если мы находимся в файле main.py и хотим импортировать модуль module2.py, который находится в folder1, мы можем использовать относительный путь следующим образом:

from folder1 import module2

В этом случае мы указываем относительный путь от текущей папки, где находится main.py, до folder1. Затем мы импортируем модуль module2.

Аналогичным образом мы можем импортировать модули из подпапок. Допустим, мы хотим импортировать module4.py из module3.py. Мы можем использовать следующий относительный путь:

from ..subfolder2 import module4

В этом случае мы использовали две точки (..), чтобы подняться на уровень выше, в subfolder1, а затем указываем путь к module4.py.

Также стоит отметить, что для корректной работы относительных путей, ваш проект должен быть организован как пакет Python, то есть в каждой папке, в которой находятся ваши модули, должен быть файл __init__.py. Даже если этот файл пустой, его присутствие в папке указывает интерпретатору Python, что эта папка является пакетом.

Использование относительных путей при импорте помогает организовать код вашего проекта и делает его более гибким. Убедитесь, что вы понимаете структуру вашего проекта и правильно указываете относительные пути при импорте модулей и пакетов.