jpe*_*lli 2 python dictionary deserialization
我在数据库中将python的str字典表示为varchars,我想检索原始的python字典
如何根据词典的str表示重新获得字典?
>>> dic = {u'key-a':u'val-a', "key-b":"val-b"}
>>> dicstr = str(dic)
>>> dicstr
"{'key-b': 'val-b', u'key-a': u'val-a'}"
Run Code Online (Sandbox Code Playgroud)
在该示例中,将dicstr转换为可用的python字典.
Ash*_*ary 12
使用ast.literal_eval()和对于这种情况喜欢repr()过str(),因为str()不保证该字符串可转换回有用的对象.
In [7]: import ast
In [10]: dic = {u'key-a':u'val-a', "key-b":"val-b"}
In [11]: strs = repr(dic)
In [12]: strs
Out[12]: "{'key-b': 'val-b', u'key-a': u'val-a'}"
In [13]: ast.literal_eval(strs)
Out[13]: {u'key-a': u'val-a', 'key-b': 'val-b'}
Run Code Online (Sandbox Code Playgroud)