ylab tick python read-eval-print-loop

tick - Impresión bonita por defecto en Python REPL



plotly ylab (2)

Usa sys.displayhook

import pprint import sys orig_displayhook = sys.displayhook def myhook(value): if value != None: __builtins__._ = value pprint.pprint(value) __builtins__.pprint_on = lambda: setattr(sys, ''displayhook'', myhook) __builtins__.pprint_off = lambda: setattr(sys, ''displayhook'', orig_displayhook)

Ponga el código anterior en PYTHONSTARTUP si no desea escribirlo cada vez que ejecute shell interactivo.

Uso:

>>> data = dict.fromkeys(range(10)) >>> data {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None} >>> pprint_on() >>> data {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None} >>> pprint_off() >>> data {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}

¿Cómo puedo habilitar la impresión bonita en el REPL por defecto?

Actualmente lo hago usando la función pprint.pprint() .

>>> pprint.pprint(data) {''SHIP_CATEGORY'': '''', ''SHIP_QUANTITY'': 1, ''SHIP_SEPARATELY'': 0, ''SHIP_SUPPLEMENT'': 0, ''SHIP_SUPPLEMENT_ONCE'': 0, ''THUMBNAIL'': ''''}

Pero quiero bastante imprimir por defecto

>>> data {''SHIP_CATEGORY'': '''', ''SHIP_QUANTITY'': 1, ''SHIP_SEPARATELY'': 0, ''SHIP_SUPPLEMENT'': 0, ''SHIP_SUPPLEMENT_ONCE'': 0, ''THUMBNAIL'': ''''}

¿Qué he intentado?
Busqué en google. No encontré nada que la mayoría de los puntos de resultado para pprint módulo


Use el shell de IPython :

In [10]: data = {''SHIP_CATEGORY'': '''', ''SHIP_QUANTITY'': 1, ''SHIP_SEPARATELY'': 0, ''SHIP_SUPPLEMENT'': 0, ''SHIP_SUPPLEMENT_ONCE'': 0,} In [11]: data Out[11]: {''SHIP_CATEGORY'': '''', ''SHIP_QUANTITY'': 1, ''SHIP_SEPARATELY'': 0, ''SHIP_SUPPLEMENT'': 0, ''SHIP_SUPPLEMENT_ONCE'': 0}

También tiene una opción --no-pprint en caso de que desee desactivar esta impresión bonita.

IPython shell de IPython también tiene features como la finalización de pestañas, el pegado multilínea, los comandos de ejecución del shell, etc. Por lo tanto, es bastante mejor que el shell de Python normal.