Найти - Пользователи
Полная версия: автоматическая загрузка дерева модулей
Начало » Python для экспертов » автоматическая загрузка дерева модулей
1
qwer
нужно сделать что-то вроде системы плагинов в виде дерева папок (например “plugins/…/…”) с размещенными в них модулями.
как лучше организовать такое ?

пока решил сделать загрузчик в файле plugins/__init__.py , который при своем импорте делает os.walk своей папки и через imp.load_module импортирует остальные модули.
каждый модуль при загрузке будет прописывать себя и свою инфу в глобальный dict или объект.

может есть другие варианты организации такой системы ?
Rodegast
Я про это уже писал __import__(Путь к файлу.py). И не надо их все сразу загружать. Загружайте только те которые будут необходимы.
qwer
pythonwinспасибо, то что нужно.

Rodegast
Загружайте только те которые будут необходимы.
как ? в момент запуска программы неизвестны названия присутствующих модулей, их количество и функционал. необходимость использования/неиспользования должен определить пользователь в процессе настройки. и между запусками программы любые модули могут быть загружены / изменены.
denz
qwer
как ?
Ну, както оно всегда можно. Например NameError перехватывать и ?както? обшаривать плагины.
Rodegast
>как ?

Чего тут не понятного? Пользователь сообщает что ему надо и программа динамически подгружает нужные модули.
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