2015-05-18 43 views
5

我可以在pprint.pprint(新行,縮進)中獲得漂亮的打印數據輸出,但同時也會縮短列表中的reprlib.repr嗎?在Python中結合reprlib和pprint?

一個醜陋的黑客似乎是pprint(eval(reprlib.repr(data))),但有沒有更好的方法?

+0

你爲什麼不直接裁剪自己的名單?只要引用'list [0:max]',它會縮短它(澄清:即使對於小於最大長度的列表)。你甚至可以看中並且最後加上「......(......)」。 – Scelesto

+0

@Scelesto'0'是默認的片啓動,所以'list [:max]'也可以。 – jonrsharpe

+0

@ d33tah「repr是一個Python內置函數,它返回其輸入的規範化字符串表示形式」問題不在於它。 – vaultah

回答

0

您可以通過覆蓋其類上的__repr__()方法來更改打印對象的方式。

Python將允許您覆蓋任何類的repr,因此請謹慎使用它。