Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 8, 2009 02:52:21

qwer
От:
Зарегистрирован: 2009-03-30
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

автоматическая загрузка дерева модулей

нужно сделать что-то вроде системы плагинов в виде дерева папок (например “plugins/…/…”) с размещенными в них модулями.
как лучше организовать такое ?

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

может есть другие варианты организации такой системы ?



Отредактировано (Апрель 8, 2009 02:54:20)

Офлайн

#2 Апрель 8, 2009 07:11:36

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

#3 Апрель 8, 2009 11:46:39

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

автоматическая загрузка дерева модулей

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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#4 Апрель 8, 2009 12:06:34

qwer
От:
Зарегистрирован: 2009-03-30
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

автоматическая загрузка дерева модулей

pythonwinспасибо, то что нужно.

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



Отредактировано (Апрель 8, 2009 12:08:57)

Офлайн

#5 Апрель 8, 2009 14:09:11

denz
От:
Зарегистрирован: 2007-01-09
Сообщения: 117
Репутация: +  0  -
Профиль   Отправить e-mail  

автоматическая загрузка дерева модулей

qwer
как ?
Ну, както оно всегда можно. Например NameError перехватывать и ?както? обшаривать плагины.



Офлайн

#6 Апрель 9, 2009 14:52:20

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

автоматическая загрузка дерева модулей

>как ?

Чего тут не понятного? Пользователь сообщает что ему надо и программа динамически подгружает нужные модули.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version