2015-05-18 3 views
5

Могу ли я печатать выходные данные как в pprint.pprint (новые строки, отступы), но и сокращенные списки, как в reprlib.repr в то же время?Комбинируйте ребриб и pprint в Python?

Уродливый хак, кажется, pprint(eval(reprlib.repr(data))), но есть ли лучший способ?

+0

Почему бы вам не просто обрезать список самостоятельно? просто укажите «list [0: max]», и он сократит его (чтобы уточнить: даже для списков меньшей максимальной длины). Вы даже можете быть фантазией и 'append (...)' в конце. – Scelesto

+0

@Scelesto '0' - это старт по умолчанию, поэтому' list [: max] 'работает тоже. – jonrsharpe

+0

@ d33tah "repr является встроенной функцией Python, которая возвращает каноническое строковое представление своего ввода. Вопрос не в этом. – vaultah

ответ

0

Вы можете изменить способ печати объекта путем переопределения метода __repr__() в своем классе.

Python позволит вам переопределить реестр любого класса, поэтому используйте его с осторожностью.