漂亮打印每个级别的缩进/换行
PrettyPrint 很好用,但我遇到了一个问题。
我有一个结构,打印出来是这样的:
{ 'table': { 'tr': [ { 'tr': { 'td': [ {'td': 'Period'},
{'td': 'G-A:B '},
{'td': 'SA -A:B '},
{'td': 'PIM-A:B '},
{'td': 'PP-A:B '},
{'td': 'SH-A:B'}]}},
{ 'tr': { 'td': [ {'td': '1'},
{'td': '2:2'},
{'td': '14:10'},
{'td': '4:8'},
{'td': '1:1'},
{'td': '0:0'}]}},
{ 'tr': { 'td': [ {'td': '2'},
{'td': '2:2'},
{'td': '13:11'},
{'td': '37:27'},
{'td': '0:0'},
{'td': '0:0'}]}},
{ 'tr': { 'td': [ {'td': '3'},
{'td': '0:1'},
{'td': '11:13'},
{'td': '0:8'},
{'td': '0:0'},
{'td': '0:0'}]}},
{ 'tr': { 'td': [ {'td': 'TOTAL'},
{'td': '4:5'},
{'td': '38:34'},
{'td': '41:43'},
{'td': '1:1'},
{'td': '0:0'}]}},
{ 'tr': { 'td': [ {'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'}]}}]}}
我想把每一层的内容都打印在新的一行上(显然现在不是这样)。
有没有什么办法可以做到这一点?看起来没有这个选项。
附注:我在用 Python 3.4。
1 个回答
8
你还可以使用一个叫做 pprint++
的第三方工具:
它是一个可以直接替代 pprint 的工具,而且看起来更漂亮。
from pprintpp import pprint
data = ... # your dict here
pprint(data)
输出结果:
{
'table': {
'tr': [
{
'tr': {
'td': [
{'td': 'Period'},
{'td': 'G-A:B '},
{'td': 'SA -A:B '},
{'td': 'PIM-A:B '},
{'td': 'PP-A:B '},
{'td': 'SH-A:B'},
],
},
},
{
'tr': {
'td': [
{'td': '1'},
{'td': '2:2'},
{'td': '14:10'},
{'td': '4:8'},
{'td': '1:1'},
{'td': '0:0'},
],
},
},
{
'tr': {
'td': [
{'td': '2'},
{'td': '2:2'},
{'td': '13:11'},
{'td': '37:27'},
{'td': '0:0'},
{'td': '0:0'},
],
},
},
{
'tr': {
'td': [
{'td': '3'},
{'td': '0:1'},
{'td': '11:13'},
{'td': '0:8'},
{'td': '0:0'},
{'td': '0:0'},
],
},
},
{
'tr': {
'td': [
{'td': 'TOTAL'},
{'td': '4:5'},
{'td': '38:34'},
{'td': '41:43'},
{'td': '1:1'},
{'td': '0:0'},
],
},
},
{
'tr': {
'td': [
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
{'td': '\xa0'},
],
},
},
],
},
}