Thanos Tsouanas wrote:
> Steven Bethard wrote:
> 
>>Maybe I'm not understanding your problem, but have you looked at the 
>>builtin "vars()"?
> 
> I didn't know about it, but I knew about object.__dict__ which is, as I
> see equivalent with vars(object).  But it doesn't do the job for me,
> since it fails to grab all obj.foo's, some of them being properties,
> etc.

How about something like:
     dict((name, getattr(obj, name)) for name in dir(obj))

For example:

py> class C(object):
...     x = 1
...     @property
...     def y(self):
...         return 2
...     def __init__(self):
...         self.z = 3
...
py> c = C()
py> d = dict((name, getattr(c, name)) for name in dir(c))
py> d['x']
1
py> d['y']
2
py> d['z']
3

Looks like this will get instance attributes, class attributes and 
properties just fine.

STeVe
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to