Уведомления

Группа в Telegram: @pythonsu

#1 Май 7, 2015 10:10:22

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Импорты

Приветствую.
Столкнулся с заморочкой.
Имеется проект с такой структурой каталогов:


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

Как правильно обратиться к module1 из module3?

Отредактировано bs0d (Май 7, 2015 10:10:49)

Офлайн

#2 Май 7, 2015 14:16:16

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Импорты

1) Использовать пакеты?
2) добавить путь в sys.path перед модулем



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Май 7, 2015 14:44:55

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Импорты

Самым адекватным решением мне показалось:

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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version