2024-04-26 03:39:51 发布
网友
以交互方式使用python时,有时需要显示一个结果,该结果是一些任意复杂的数据结构(如带有嵌入列表的列表等) 显示它们的默认方式是一个巨大的线性转储,它只是一次又一次地覆盖,您必须仔细分析才能阅读它。
有没有什么东西可以接受任何python对象并以更合理的方式显示它。e、 g
[0, 1, [a, b, c], 2, 3, 4]
而不是:
我知道这不是一个很好的例子,但我想你明白了。
除了pprint.pprint,pprint.pformat对于使__repr__s可读非常有用。我的复合物__repr__通常是这样的:
pprint.pprint
pprint.pformat
__repr__
def __repr__(self): from pprint import pformat return "<ClassName %s>" % pformat({"attrs":self.attrs, "that_i":self.that_i, "care_about":self.care_about})
from pprint import pprint a = [0, 1, ['a', 'b', 'c'], 2, 3, 4] pprint(a)
请注意,对于像我的示例这样的短列表,pprint实际上会将其全部打印在一行上。但是,对于更复杂的结构,它可以很好地打印数据。
有时YAML可以很好地解决这个问题。
import yaml a = [0, 1, ['a', 'b', 'c'], 2, 3, 4] print yaml.dump(a)
产生:
- 0 - 1 - [a, b, c] - 2 - 3 - 4
除了
pprint.pprint
,pprint.pformat
对于使__repr__
s可读非常有用。我的复合物__repr__
通常是这样的:请注意,对于像我的示例这样的短列表,pprint实际上会将其全部打印在一行上。但是,对于更复杂的结构,它可以很好地打印数据。
有时YAML可以很好地解决这个问题。
产生:
相关问题 更多 >
编程相关推荐