Getting a dictionary from an object
Bruno Desthuilliers
bdesth.quelquechose at free.quelquepart.fr
Sat Jul 23 05:30:19 EDT 2005
Thanos Tsouanas a écrit :
> Hello.
>
> I would like to have a quick way to create dicts from object, so that a
> call to foo['bar'] would return obj.bar.
>
> The following works, but I would prefer to use a built-in way if one
> exists. Is there one?
>
> Thanks in advance.
>
> class dictobj(dict):
> """
> class dictobj(dict):
> A dictionary d with an object attached to it,
> which treats d['foo'] as d.obj.foo.
> """
> def __init__(self, obj):
> self.obj = obj
> def __getitem__(self, key):
> return self.obj.__getattribute__(key)
I'd replace this last line with:
return getattr(self.obj, key)
Now given your specs, I don't see what's wrong with your solution.
More information about the Python-list
mailing list