可扩展pprint后续版本-python3版本
pretty-py3的Python项目详细描述
pretty-py3
python高级漂亮打印机。这台漂亮的打印机旨在
替换不允许开发人员使用的旧的pprint
python模块
提供他们自己漂亮的打印回拨。
这个模块基于ruby的Tanaka Akira
库。
这是由Mark Grandi
和其他人转化为python3的。
示例用法
要直接打印对象的表示,请使用pprint
:
from pretty import pprint
pprint(complex_object)
要获取输出字符串,请使用pretty
:
from pretty import pretty
string = pretty(complex_object)
延伸
漂亮的库允许开发人员为他们的
自己的东西。这个过程很简单。你要做的就是
向对象添加一个__pretty__
方法,并调用
漂亮的打印机通过:
class MyObject(object):
def __pretty__(self, p, cycle):
...
这里是列表的__pretty__
方法的示例实现
子类:
class MyList(list):
def __pretty__(self, p, cycle):
if cycle:
p.text('MyList(...)')
else:
with p.group(8, 'MyList([', '])'):
for idx, item in enumerate(self):
if idx:
p.text(',')
p.breakable()
p.pretty(item)
如果检测到一个循环,cycle
参数是True
。你已经到
对此做出反应,否则结果就是一个无限循环。p.text()
只需添加
不中断文本到输出,p.breakable()
或者添加空白
或者在这里休息。如果你给它一个参数,它被用来代替
默认空间。p.pretty
pretty print使用prettyprint打印另一个对象
方法
group
函数的第一个参数指定额外的缩进
下一行。第二个和第三个参数是
将在组之前和之后打印的结束字符串。
在本例中,下一项将不是
断开(如果项目足够短)或与
有MyList
支撑的开口。
更改日志
0.2.4
- 来自@alexshpilkin的合并请求2(https://github.com/mgrandi/pretty-py3/pull/2), “修复prettyprinter.group()中的双缩进”
- 来自@alexshpilkin的合并请求3(https://github.com/mgrandi/pretty-py3/pull/3), “更好地支持set和ordereddict类型”
0.2.3
- 来自@avoidscorn的合并拉取请求1(https://github.com/mgrandi/pretty-py3/pull/1), “在单元素元组中添加缺少的逗号。”
0.2.2
- 完成移植到python3
版权所有
copyright 2007
作者:Armin Ronacher。
copyright 2014
作者:mark grandi-python 3端口
license
BSD许可证。