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