pprint的用法

Posted 炫云云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pprint的用法相关的知识,希望对你有一定的参考价值。

pprint模块能以解释器可以解析的输入形式漂亮地打印python数据结构的形式

import pprint
stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
stuff.insert(0, stuff[:])
#class pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False)
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(stuff)
'''
[   ['spam', 'eggs', 'lumberjack', 'knights', 'ni'],
    'spam',
    'eggs',
    'lumberjack',
    'knights',
    'ni']

'''

width表示一行最多输出多少字符,compact=True表示在width范围允许内输出尽可能多,默认为False

pp = pprint.PrettyPrinter(width=41, compact=True)
pp.pprint(stuff)
'''
[['spam', 'eggs', 'lumberjack',
  'knights', 'ni'],
 'spam', 'eggs', 'lumberjack', 'knights',
 'ni']
'''

pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False)
与pp.pprint用法相同,只不过pprint是格式化后打印出来,而pformat是return格式化后的

pp = pprint.PrettyPrinter(width=41, compact=True)
p = pp.pformat(stuff)
print(p)
'''
[['spam', 'eggs', 'lumberjack',
  'knights', 'ni'],
 'spam', 'eggs', 'lumberjack', 'knights',
 'ni']
'''

depth表示输出的深度

tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
('parrot', ('fresh fruit',))))))))
pp = pprint.PrettyPrinter(depth=6)
pp.pprint(tup)
'''
('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
'''
pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)

stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
stuff.insert(0, stuff)
pprint.pprint(stuff)
'''
[<Recursion on list with id=1866271590280>,
 'spam',
 'eggs',
 'lumberjack',
 'knights',
 'ni']
'''

以上是关于pprint的用法的主要内容,如果未能解决你的问题,请参考以下文章

pprint 字典在多行

pprint模块的一个简单的案例

5.8 pprint--美观地打印数据

5.8 pprint--美观地打印数据

pprint模块介绍

无法编码/解码 pprint 输出