我有一个带有嵌套字典的复杂字符串。这本词典还有一个列表,里面有三个相似的词典。如何将其转换为Python字典?请帮忙。
输入:'name: "data dict" id: 2\nv6: false\nstats {\n hosts {\n cnt1: 256\n cnt2: 0\n }\n groups {\n cnt1: 1\n cnt2: 0\n }\n main_groups {\n cnt1: 1\n cnt2: 0\n }\n main_hosts {\n cnt1: 256\n cnt2: 0\n }\n}\n group_id: "None"'
预期结果:{
name: "data dict",
id: 2,
v6: false,
stats: {
hosts: {
cnt: 1, cnt: 2
}
groups: {
cnt: 1, cnt: 2
}
main: {
cnt: 1, cnt: 2
}
main_hosts: {
cnt: 1, cnt: 2
}
}
}
答案 0 :(得分:1)
正如TS所提到的,有一个带有嵌套字典的字符串(我第一次将其解释为对有效性的隐式引用)。如果字符串内容是有效 JSON,您可以使用json
内置包,包括解析它所需的全部内容:
import json
data = json.loads(your_string)
在JSON package docs中阅读更多内容。
如果没有,您可以编写正则表达式或使用pyparsing包来处理此字符串。
答案 1 :(得分:0)
通过对输入进行一些编辑,它可以由yaml
加载,数据对象可以按照您的要求加载,这是一组嵌套的词典。
输入字符串是如何创建的?具体的编辑是: