pprint (pretty printer) 模块提供了一种将任意 Python 数据结构“美化打印”的能力,以便将其用作解释器的输入。
函数#
pprint#
pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False, sort_dicts=True, underscore_numbers=False)pythonpp#
pprint.pp(object, stream=None, indent=1, width=80, depth=None, *, compact=False, sort_dicts=False, underscore_numbers=False)python函数参数的相关说明
| 参数 | 类型 | 参数说明 | object | \ | 要打印的对象。 |
stream | file-like object | 一个文件型对象,可通过调用其 write() 方法将输出写入该对象。 如为 None (默认值),则使用 sys.stdout。 | indent | int | 要为每个嵌套层级添加的缩进量。 |
width | int | 输出中每行所允许的最大字符数。 如果一个结构无法在宽度限制内被格式化,则将尽可能的接近。 |
depth | int | 可被打印的嵌套层级数量。 如果要打印的数据结构具有过深的层级,则其包含的下一层级将用 … 替换。 如为 None (默认值),则不会限制被格式化对象的层级深度。 |
compact | bool | 控制长 序列 的格式化方式。 如为 False (默认值),则序列的每一项将被格式化为单独的行,否则在格式化每个输出行时将根据 width 限制容纳尽可能多的条目。 |
sort_dicts | bool | 如为 True,则在格式化字典时将基于键进行排序,否则将按插入顺序显示它们(默认)。 |
underscore_numbers | bool | 如为 True,则在格式化整数时将使用 _ 字符作为千位分隔符,否则将不显示下划线(默认)。 |
pformat#
将 object 的格式化表示形式作为字符串返回。
pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False, sort_dicts=True, underscore_numbers=False)python其他常用函数#
| 函数 | 说明 |
|---|---|
pprint.isreadable(object) | 确定 object 的格式化表示是否“可读”,或是否可被用来通过 eval() 重新构建对象的值。此函数对于递归对象总是返回 False |
pprint.isrecursive(object) | 确定 object 是否需要递归的表示 |
pprint.saferepr(object) | 返回 object 的字符串表示,并为某些通用数据结构提供防递归保护,包括 dict,list 和 tuple 或其未重载 __repr__ 的子类的实例 |
PrettyPrinter 对象#
class pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False, sort_dicts=True, underscore_numbers=False)python参数的含义与 pprint() 的相同。注意它们的顺序有所不同。
PrettyPrinter 的实例具有下列方法:
PrettyPrinter.pformat(object) # 返回 object 格式化表示
PrettyPrinter.pprint(object) # 在所配置的流上打印 object 的格式化表示,并附加一个换行符
PrettyPrinter.isreadable(object) # 确定对象的格式化表示是否“可读”
PrettyPrinter.isrecursive(object) # 确定对象是否需要递归表示
PrettyPrinter.format(object, context, maxlevels, level)python