0

如果我得到一个list元素类型为dict嵌套的对象并使用print命令打印出列表。输出可能像这样,全部压在一行中。

[{'rule_range': u'ALL', 'rule_desc': u'\u6d4b\u8bd5\u89c4\u5219\u5b9e\u4f8b01', 'creator': u'65624', 'rule_tmpl_id': u'RT0001', 'order_id': u'1', 'id': 2L, 'def_ext_cols': None, 'rule_cycle': u'1', 'create_time': None, 'rule_expr': u'select * from records where year = 2000', 'def_cols': None, 'rule_status': u'1', 'rule_id': u'TEST0001', 'store': None, 'rule_name': u'TRuleInstance01'}, {'rule_range': u'ALL', 'rule_desc': u'\u6d4b\u8bd5\u89c4\u5219\u5b9e\u4f8b01', 'creator': u'65624', 'rule_tmpl_id': u'RT0001', 'order_id': u'2', 'id': 2L, 'def_ext_cols': None, 'rule_cycle': u'1', 'create_time': None, 'rule_expr': u'select * from records where temperature = 21', 'def_cols': None, 'rule_status': u'1', 'rule_id': u'TEST0001', 'store': None, 'rule_name': u'TRuleInstance01'}]

我想要的是一些格式化的输出字符串,是否有某种格式化程序(就像 json 在线格式化程序一样),或者它可以在 python 代码中实现?非常感谢!

4

2 回答 2

1

您可以使用漂亮的打印

from pprint import pprint
pprint(the_dict)
于 2013-10-10T08:16:30.097 回答
0

我尝试按照@justhalf 的建议使用 Pretty Print。但是我很难完成这项工作,直到我意识到我的 dict 太短(小于 80 个字符,这是 的默认宽度pprint)。我将宽度更改为 20,现在它可以正确打印:

import pprint
pprint.pprint([{"test":"value", "test2":"value"},{"test":[{"key":"value"}]}])

印刷:

[{   'test': 'value', 'test2': 'value'}, {   'test': [{   'key': 'value'}]}]

但:

import pprint
pprint.pprint([{"test":"value", "test2":"value"},{"test":[{"key":"value"}]}], width=20)

印刷:

[{'test': 'value',
  'test2': 'value'},
 {'test': [{'key': 'value'}]}]
于 2014-11-11T21:21:38.417 回答