Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с __getattribute__(), при работе с модулями через getattr 
:(
    Опции темы
Hektor
Дата 3.8.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 1.8.2009

Репутация: нет
Всего: нет



Привожу текст из оф. доки 2.5

Цитата

If the class also defines __getattr__(), the latter will not be called unless __getattribute__() either calls it explicitly or raises an AttributeError. This method should return the (computed) attribute value or raise an AttributeError exception.


теперь прошу помочь обойти эту траблу.
Импортировав модуль 
Код

module = __import__(modulename) 


получаю класс

Код

class_name_as_str = "News"
class_name = getattr(module_obj, class_name_as_str)


Теперь таким же макаром нужно вызвать функцию "function_name"

Код

class_obj = class_name()
result = class_obj.__getattribute__("function_name")("some_source_data")


 smile 

Цитата

<type 'exceptions.AttributeError'>: News instance has no attribute '__getattribute__' 


PM MAIL WWW Jabber   Вверх
Daevaorn
Дата 3.8.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(Hektor @  3.8.2009,  19:15 Найти цитируемый пост)
Теперь таким же макаром нужно вызвать функцию "function_name"

Так и вызывайте, зачем вам __getattribute__ (тем более если вы его для класса не реализовали)?

Код

class_obj = class_name()
result = getattr(class_obj, "function_name")("some_source_data")

PM MAIL WWW   Вверх
Hektor
Дата 3.8.2009, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 1.8.2009

Репутация: нет
Всего: нет



 smile 
Спасибо. Долго бы я тянул питончика за хвост. smile 
теперь модульный легко расширяемый движок для моих сайтов практически готов )
Вот только вопрос:
Насколько ресурсоемким будет он? По сути все данные храню в БД, а для вывода кусков инфы использую модули. Все они грузятся динамически.
PM MAIL WWW Jabber   Вверх
Daevaorn
Дата 3.8.2009, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(Hektor @  3.8.2009,  23:47 Найти цитируемый пост)
Насколько ресурсоемким будет он? 

Зависит от того как вы его реализовали;-)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.