I have been working to build a complex data structure which would return a dictionary. Currently that class return string object of the form
{
cset : x,
b1 : y,
b2 : z,
dep : {
cset : x1,
b1 : y1,
b2 : z1,
dep : {
cset : x2,
b1 : y2,
b2 : z2,
dep : <same as above.it recurses few more levels>
...
}
}
}
I want to convert this whole string object into dictionary.
I read on one of the articles to use pickle module, but I don’t want to serialize it into some file and use it.
Ref : http://bytes.com/topic/python/answers/36059-convert-dictionary-string-vice-versa
I am looking for some other neater ways of doing it, if possible.
Would be great to know any such ways.
Don’t use
eval. If you are sure that the string will always contain a valid Pythondict, useast.literal_eval. This works pretty much likeeval, but it only evaluates if the expression is a validdict,list, etc. and throws an exceptions if it isn’t. This is way safer than trying to evaluate strings that may contain arbitrary code at runtime.From the docs:
Code Example: