如果我使用pprint打印字典,它总是用单引号(')将字符串括起来:
>>> from pprint import pprint
>>> pprint({'AAA': 1, 'BBB': 2, 'CCC': 3})
{'AAA': 1, 'BBB': 2, 'CCC': 3}有没有办法让pprint改用双引号(")?我希望有以下行为:
>>> from pprint import pprint
>>> pprint({'AAA': 1, 'BBB': 2, 'CCC': 3})
{"AAA": 1, "BBB": 2, "CCC": 3}发布于 2013-04-19 00:02:00
看起来您正在尝试生成JSON;如果是这样,请使用json module
>>> import json
>>> print json.dumps({'AAA': 1, 'BBB': 2, 'CCC': 3})
{"AAA": 1, "BBB": 2, "CCC": 3}pprint()函数生成Python表示,而不是JSON,并且引用样式是不可配置的。不要混淆这两种语法。乍一看,JSON看起来很像Python,但除了引用样式之外,还有更多的区别:
{...}对象、[...]数组、"..."字符串、数字、布尔值和空值)。Python数据结构要丰富得多,JSON字典键可以是任何哈希对象,对象键只能是字符串。
true和false编写的。Python使用标题大小写、True和False。Python使用None.-16代码点,任何非
null。除了少数单字母反斜杠转义外,如\n和\",任意码点转义都使用\uXXXX 16位十六进制表示法。Python 3字符串涵盖所有Unicode,语法支持\xXX、\uXXXX和\UXXXXXXXX 8、16和32位转义序列。如果您想生成缩进的JSON输出(有点像列表和字典的pprint()输出缩进的Python语法),那么将indent=4和sort_keys=True添加到json.dumps()调用中:
>>> print json.dumps({'AAA': 1, 'CCC': 2, 'BBB': 3}, indent=4, sort_keys=True)
{
"AAA": 1,
"BBB": 2,
"CCC": 3
}请参阅http://stackoverflow.com/questions/12943819/how-to-python-prettyprint-a-json-file
https://stackoverflow.com/questions/16087662
复制相似问题