Найти - Пользователи
Полная версия: пройтись по пространству имен модуля или по методам класса
Начало » Python для новичков » пройтись по пространству имен модуля или по методам класса
1
chaotism
возник вопрос:
вроде бы как мне показалось простая вещь
хотелось не вбивать ручками имена модулей, а пройтись по ним циклом, но выпадаю в ошибку, что нужен объект класс, а дается строка.
пример из джанги, но суть в том, что хочется допустим пройтись по методам класса или фунциям и классам модуля и сразу с ними что-то делать, а в __dict__ храниться строка
from django.contrib import admin
from model import *
for name in dir(model):
      try:
          admin.site.register(name)
     except:
          pass



doza_and
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)
chaotism
точно, затупил 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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB