Уведомления

Группа в Telegram: @pythonsu

#1 Март 1, 2014 08:43:17

chaotism
От:
Зарегистрирован: 2010-11-29
Сообщения: 76
Репутация: +  1  -
Профиль   Отправить e-mail  

пройтись по пространству имен модуля или по методам класса

возник вопрос:
вроде бы как мне показалось простая вещь
хотелось не вбивать ручками имена модулей, а пройтись по ним циклом, но выпадаю в ошибку, что нужен объект класс, а дается строка.
пример из джанги, но суть в том, что хочется допустим пройтись по методам класса или фунциям и классам модуля и сразу с ними что-то делать, а в __dict__ храниться строка

from django.contrib import admin
from model import *
for name in dir(model):
      try:
          admin.site.register(name)
     except:
          pass





Офлайн

#2 Март 1, 2014 12:23:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

пройтись по пространству имен модуля или по методам класса

chaotism
__dict__ храниться строка
__dict__ вообще мне казалось что это словарь.
class Tx(object):
    def a(self):
        pass
    def b(self):
        pass        
for i in Tx.__dict__:
    print(i,Tx.__dict__[i])
>>> 
('a', <function a at 0x01285170>)
('__module__', '__main__')
('b', <function b at 0x01285130>)
('__dict__', <attribute '__dict__' of 'Tx' objects>)
('__weakref__', <attribute '__weakref__' of 'Tx' objects>)
('__doc__', None)



Офлайн

#3 Март 1, 2014 12:37:24

chaotism
От:
Зарегистрирован: 2010-11-29
Сообщения: 76
Репутация: +  1  -
Профиль   Отправить e-mail  

пройтись по пространству имен модуля или по методам класса

точно, затупил globals() — Return a dictionary representing the current global symbol table.
http://stackoverflow.com/questions/990422/how-to-get-a-reference-to-current-modules-attributes-in-python



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version