pprint
pprint
模块提供了一种“漂亮打印”任意Python数据结构的功能(美化输出),该形式可用作解释器的输入。
类
class pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False)
- indent:缩进;
- width:一行最大宽度,默认80个字符;
- depth:打印的深度——主要是针对一些可递归的对象,如果超出指定depth,其余的用
...
代替; - stream:输出流对象,如果为None,则默认为sys.stdout;
- compact:False(默认),每个项目在单独的行上格式化。
>>> import pprint
>>> info = {"name":"lzzwwen","gender":"male","age":"20","phone":["110","120","119"]}
>>> pp = pprint.PrettyPrinter(indent=4)
>>> pp.pprint(info)
{ 'age': '20',
'gender': 'male',
'name': 'lzzwwen',
'phone': ['110', '120', '119']}
常用函数
-
pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False)
返回格式化的对象字符串。
-
pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
输出格式的对象字符串到指定的stream,最后以换行符结束。
-
pprint.isreadable()
判断对象object的字符串对象是否可读。
>>> a = [1,2,3,4] >>> a.append(a) >>> b = [1,2,3,4] >>> pprint.isreadable(a) False >>> pprint.isreadable(b) True
-
pprint.isrecursive(object)
判断对象object是否需要递归显示。
>>> pprint.isrecursive(a) True >>> pprint.isrecursive(b) False
-
pprint.saferepr(object)
返回一个对象字符串,对象中的子对象如果是可递归的,都被替换成
<Recursion on typename with id=number>
这种形式。>>> pprint.saferepr(a) '[1, 2, 3, 4, <Recursion on list with id=3119905555208>]'