print pretty online corrector check beautify autopep8 array python prettify

pretty - python dump object



¿Hay una bonita impresora para datos de Python? (4)

Además de pprint.pprint , pprint.pformat es realmente útil para hacer __repr__ legibles. Mis complejos __repr__ s usualmente se ven así:

def __repr__(self): from pprint import pformat return "<ClassName %s>" % pformat({"attrs":self.attrs, "that_i":self.that_i, "care_about":self.care_about})

Al trabajar con python de forma interactiva, a veces es necesario mostrar un resultado que sea una estructura de datos arbitrariamente compleja (como listas con listas incrustadas, etc.). La forma predeterminada de mostrarlos es solo un volcado lineal masivo que simplemente se repite una y otra vez y tiene analizar detenidamente para leerlo.

¿Hay algo que tome cualquier objeto python y lo muestre de una manera más racional? p.ej

[0, 1, [a, b, c], 2, 3, 4]

en lugar de:

[0, 1, [a, b, c], 2, 3, 4]

Sé que no es un buen ejemplo, pero creo que entiendes la idea.


Otra buena opción es usar IPython , que es un entorno interactivo con muchas características adicionales, que incluyen impresión bonita automática, métodos de finalización de pestañas, acceso fácil a shell y mucho más. También es muy fácil de instalar.

Tutorial de IPython


Somtimes YAML puede ser bueno para esto.

import yaml a = [0, 1, [''a'', ''b'', ''c''], 2, 3, 4] print yaml.dump(a)

Produce:

- 0 - 1 - [a, b, c] - 2 - 3 - 4


from pprint import pprint a = [0, 1, [''a'', ''b'', ''c''], 2, 3, 4] pprint(a)

Tenga en cuenta que para una lista corta como mi ejemplo, pprint de hecho imprimirá todo en una línea. Sin embargo, para estructuras más complejas, hace un trabajo bastante bueno con datos de impresión bonitos.