parsing a dictionary from a string

Peter Otten __peter__ at web.de
Sat Dec 16 04:37:29 EST 2006


Benjamin Georgi wrote:

> I could use some help extracting the keys/values of a list of
> dictionaries from a string that is just the str() representation of the
> list (the problem is related to some flat file format I'm using for file
> IO).
> 
> Example:
>  >>> s = str(dict_list)
>  >>> s
> '[{0: [2], 1: []}, {0: [], 1: [], 2: []}, {0: [1, 2]}]'
> 
> Then, what I want to do is to reconstruct dict_list given s.
> Now, one possible solution would be
> 
>  >>> dict_list = eval(s)
> 
> but since the content of s cannot be blindly trusted I`d rather not do
> it that way. Basically my question is whether there is another solution
> which is simpler than using regular expressions.

Michael Spencer has published a simple eval() that only allows constant
expressions:

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/364469

Peter



More information about the Python-list mailing list