3
可以说我有一个(嵌套)字典是这样的(注意列表值):印刷字典(JSON)人类可读
dic = {'level1':
{'level2':(1, 2),
'level3':
[
{'level4': (1, 2)},
{'level5': (1, 2)}
]
}
}
我要寻找一个合适的方法来打印这本词典,我使用json
做到这一点:
import json
print json.dumps(dic, indent=4)
和上面的代码给我下面的输出:
{
"level1": {
"level2": [
1,
2
],
"level3": [
{
"level4": [
1,
2
]
},
{
"level5": [
1,
2
]
}
]
}
}
尽管上面的输出非常好,但仍然很难阅读,特别是如果有多个级别和更长的名称。 我也曾尝试yaml
import yaml
print yaml.dump(dic)
给出了一个看起来很奇怪的情况如下:
level1:
level2: !!python/tuple [1, 2]
level3:
- level4: !!python/tuple [1, 2]
- level5: !!python/tuple [1, 2]
是否有可以产生更好的转储任何其他图书馆,我觉得下面的输出更易于阅读:
"level1"
|---"level2": 1, 2
|---"level3":
|---"level4": 1, 2
|---"level5": 1, 2
我相信上面的代码更容易阅读,并且可能会有这样的python库。
默认格式的优点是它是有效的JSON。我认为你需要推出自己的打印功能来获取你的内容。 – 2013-03-07 16:01:06
您可以尝试[YAML](http://pyyaml.org/),但它不在标准库中。 – 2013-03-07 16:01:49
对于YAML +1,它非常易读 – 2013-03-07 16:02:35