[英]Is there a pretty printer for python data?
以交互方式使用python,有時需要顯示一些結果,這是一些任意復雜的數據結構(如帶有嵌入列表的列表等)。顯示它們的默認方式只是一個大規模的線性轉儲,它只是一遍又一遍地包裝你有仔細解析閱讀它。
有什么東西可以采取任何python對象並以更合理的方式顯示它。 例如
[0, 1,
[a, b, c],
2, 3, 4]
代替:
[0, 1, [a, b, c], 2, 3, 4]
我知道這不是一個很好的例子,但我認為你明白了。
from pprint import pprint
a = [0, 1, ['a', 'b', 'c'], 2, 3, 4]
pprint(a)
請注意,對於像我的例子這樣的簡短列表,pprint實際上會在一行上打印出來。 但是,對於更復雜的結構,它可以很好地打印數據。
SOMtimes 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__
非常有用。 我的復雜__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})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.