Форум сайта python.su
1
возник вопрос:
вроде бы как мне показалось простая вещь
хотелось не вбивать ручками имена модулей, а пройтись по ним циклом, но выпадаю в ошибку, что нужен объект класс, а дается строка.
пример из джанги, но суть в том, что хочется допустим пройтись по методам класса или фунциям и классам модуля и сразу с ними что-то делать, а в __dict__ храниться строка
from django.contrib import admin from model import * for name in dir(model): try: admin.site.register(name) except: pass
Офлайн
253
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)
Офлайн
1
точно, затупил 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
Офлайн