Convert Dictionary to String, vice versa?

Peter Hansen peter at engcorp.com
Wed Sep 15 20:41:33 CEST 2004


Byron wrote:

> I am a newbie and would like to know if it is possible to convert a 
> string back to a dictionary?
> 
> For example, I can convert a dictionary to a string by doing this:
> 
>     >>> names = {"Candy" : 2.95, "Popcorn" : 4.95}
>     >>> strNames = str(names)
>     >>> print strNames
>     {'Popcorn': 4.9500000000000002, 'Candy': 2.9500000000000002}

In this particular case, this works:

 >>> d = eval(strNames)
 >>> d
{'Popcorn': 4.9500000000000002, 'Candy': 2.9500000000000002}

But be cautious using "exec" and "eval()", as they are
potential security risks -- primarily when passing them data
that comes from a user or has been made accessible to a user,
such as by persisting it.  I suspect the answer to "how?"
is in the FAQ.  If not, it's definitely in the list archives.

-Peter



More information about the Python-list mailing list