假设我有一个名为'ds'的字符串变量。
ds="{'a': 1, 'b':2}"
我想将它存储在另一个名为'do'的变量中。
do=some_function(ds)
所以,当我这样做时,
print(do['a'])
我的输出应为1
。
那么我如何使用构建函数或一些小代码中的一些呢?
答案 0 :(得分:1)
import ast
ds="{'a': 1, 'b':2}"
do=ast.literal_eval(ds)
print(do['a'])
ast - 抽象语法树
ast模块帮助Python应用程序处理Python抽象语法语法的树。每个Python版本的抽象语法本身都可能会改变;这个模块有助于以编程方式找出当前语法的样子。
ast.literal_eval(node_or_string)
安全地评估表达式节点或包含Python文字或容器显示的Unicode或Latin-1编码字符串。提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和None。
这可以用于安全地评估包含来自不受信任来源的Python值的字符串,而无需自己解析值。它无法评估任意复杂的表达式,例如涉及运算符或索引。
链接文档