Convert hash to struct

Lie Ryan lie.1296 at gmail.com
Fri Jun 19 20:52:34 CEST 2009


Amita Ekbote wrote:
>  Hello,
> 
> I am retrieving values from a database in the form of a dictionary so
> I can access the values as d['column'] and I was wondering if there is
> a way to convert the hash to a struct like format so i can just say
> d.column. Makes it easier to read and understand.
> 
> Thanks
> Amita
> 

You may be able to update the class' dict:

>>> class MyDB(object):
...     def __init__(self, di):
...         self.__dict__.update(di)
...
>>> di = {'a':10, 'b': 20}
>>> d = MyDB(di)
>>> d
<__main__.MyDB object at 0x7f756b0d0b90>
>>> d.a
10
>>> d.b
20

but this might be a security risk, if you cannot trust the database or
its content.

It is much preferrable to use something like:

>>> class MyDB(object):
...     def __init__(self, di):
...         self.a = di['a']
...         self.b = di['b']


since you now have full control of what collumns can go in and whatnot.



More information about the Python-list mailing list