Форум сайта python.su
нужно сделать что-то вроде системы плагинов в виде дерева папок (например “plugins/…/…”) с размещенными в них модулями.
как лучше организовать такое ?
пока решил сделать загрузчик в файле plugins/__init__.py , который при своем импорте делает os.walk своей папки и через imp.load_module импортирует остальные модули.
каждый модуль при загрузке будет прописывать себя и свою инфу в глобальный dict или объект.
может есть другие варианты организации такой системы ?
Отредактировано (Апрель 8, 2009 02:54:20)
Офлайн
Офлайн
Я про это уже писал __import__(Путь к файлу.py). И не надо их все сразу загружать. Загружайте только те которые будут необходимы.
Офлайн
pythonwinспасибо, то что нужно.
Rodegastкак ? в момент запуска программы неизвестны названия присутствующих модулей, их количество и функционал. необходимость использования/неиспользования должен определить пользователь в процессе настройки. и между запусками программы любые модули могут быть загружены / изменены.
Загружайте только те которые будут необходимы.
Отредактировано (Апрель 8, 2009 12:08:57)
Офлайн
qwerНу, както оно всегда можно. Например NameError перехватывать и ?както? обшаривать плагины.
как ?
Офлайн
>как ?
Чего тут не понятного? Пользователь сообщает что ему надо и программа динамически подгружает нужные модули.
Офлайн