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