使用Json.dumps打印美观漂亮Python Dicts

在命令行模式,打印一个dicts最简单的方式就是,直接输入dicts名字按回车。但输出太难看了,

>>> my_mapping = {'a': 23, 'b': 42, 'c': 0xc0ffee}
>>> my_mapping
{'b': 42, 'c': 12648430. 'a': 23}  # ????

我们还可以使用json模块的dumps方法,按照特定的格式输出dicts

>>> import json
>>> print(json.dumps(my_mapping, indent=4, sort_keys=True))
{
    "a": 23,
    "b": 42,
    "c": 12648430
}

顾名思义,indent 表示缩进,sort_ket 表示按照Key排序。

但要注意,这种方法要求dicts的key必须为字符串

>>> json.dumps({all: 'yup'})
TypeError: keys must be a string

这就报错了