将字符串解析为字典

use*_*736 2 python string parsing eval abstract-syntax-tree

我有一个 dict ex 形式的字符串输出。

{'key1':'value1','key2':'value2'} 
Run Code Online (Sandbox Code Playgroud)

如何轻松地将其保存为字典而不是字符串?

unu*_*tbu 5

astr 是一个“以字典的形式”的字符串。 ast.literal_eval将其转换为 python dict 对象。

In [110]: import ast

In [111]: astr="{'key1':'value1','key2':'value2'}"

In [113]: ast.literal_eval(astr)
Out[113]: {'key1': 'value1', 'key2': 'value2'}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果有任何方法可以包含`os.remove("foo")`,那么使用`eval` 并不是一个好主意。 (7认同)