python pprint模块

时间:2021-01-26 15:28:40

pprint模块 提供了打印出任何python数据结构类和方法。

模块方法:

1.class pprint.PrettyPrinter(indent=1,width=80,depth=None, stream=None)

创建一个PrettyPrinter对象

indent --- 缩进,width --- 一行最大宽度,

depth --- 打印的深度,这个主要是针对一些可递归的对象,如果超出指定depth,其余的用"..."代替。

eg: a=[1,2,[3,4,],5]  a的深度就是2; b=[1,2,[3,4,[5,6]],7,8] b的深度就是3

stream ---指输出流对象,如果stream=None,那么输出流对象默认是sys.stdout

2.pprint.pformat(object,indent=1,width=80, depth=None)

返回格式化的对象字符串

3.pprint.pprint(object,stream=None,indent=1, width=80, depth=None)

输出格式的对象字符串到指定的stream,最后以换行符结束。

4.pprint.isreadable(object)

判断对象object的字符串对象是否可读

5.pprint.isrecursive(object)

判断对象是否需要递归的表示

eg: pprint.isrecursive(a)  --->False

pprint.isrecursive([1,2,3])-->True

6.pprint.saferepr(object)

返回一个对象字符串,对象中的子对象如果是可递归的,都被替换成<Recursionontypename withid=number>.这种形式。

PrettyPrinter 对象具有的方法与上面类似,不在赘述。

import pprint

data = (
"this is a string", [1, 2, 3, 4], ("more tuples",
1.0, 2.3, 4.5), "this is yet another string"
)

pprint.pprint(data)