Найти - Пользователи
Полная версия: Импорты
Начало » Python для новичков » Импорты
1
bs0d
Приветствую.
Столкнулся с заморочкой.
Имеется проект с такой структурой каталогов:


base_project
    module1_dir
        -- module1.py
        -- module2.py
    module2_dir
        -- module3.py
        -- module4.py

Как правильно обратиться к module1 из module3?
JOHN_16
1) Использовать пакеты?
2) добавить путь в sys.path перед модулем
bs0d
Самым адекватным решением мне показалось:
base_project
main.py
    module1_dir
        -- __init__.py
        -- module1.py
        -- module2.py
    module2_dir
        -- __init__.py
        -- module3.py
        -- module4.py
В таком раскладе из main.py импорт выглядит:
from module1_dir.module1 import some_func

А внутри модулей можно использовать relative импорты, например из module2.py:
from .module1 import some_func
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB