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.