看起来您正在尝试生成 JSON;如果是这样,请使用json
模块:
>>> import json
>>> print json.dumps({'AAA': 1, 'BBB': 2, 'CCC': 3})
{"AAA": 1, "BBB": 2, "CCC": 3}
该pprint()
函数生成Python 表示,而不是 JSON,并且引用样式不可配置。不要混淆这两种语法。JSON 乍一看可能很像 Python,但除了引用样式之外,还有更多不同之处:
- JSON 仅限于一些特定类型(
{...}
具有键值对、[...]
数组、"..."
字符串、数字、布尔值和空值的对象)。Python 数据结构要丰富得多。
- Python 字典键可以是任何可散列的对象,JSON 对象键只能是字符串。
- JSON 布尔值用小写字母编写,
true
并且false
. Python 使用标题大小写True
和False
.
- JSON 用于
null
表示没有值,Python 使用None
.
- JSON 字符串使用 UTF-16 代码点,任何非 BMP 代码点都使用代理对进行编码。除了少数单字母反斜杠转义(如任意代码点转义)外
\n
,还使用16 位十六进制表示法。Python 3 字符串涵盖了所有 Unicode,并且语法支持, , 以及8、16 和 32 位转义序列。\"
\uXXXX
\xXX
\uXXXX
\UXXXXXXXX
如果你想生成缩进的 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