pprint模块 提供了打印出任何python数据结构类和方法。
模块方法:
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
pprint.pformat(object,indent=1,width=80, depth=None)
返回格式化的对象字符串
pprint.pprint(object,stream=None,indent=1, width=80, depth=None)
输出格式的对象字符串到指定的stream,最后以换行符结束。
pprint.isreadable(object)
判断对象object的字符串对象是否可读
pprint.isrecursive(object)
判断对象是否需要递归的表示
eg: pprint.isrecursive(a) --->False
pprint.isrecursive([1,2,3])-->True
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) 输出: ('this is a string', [1, 2, 3, 4], ('more tuples', 1.0, 2.3, 4.5), 'this is yet another string')