Me preguntaba si alguien sabe cómo establecer el color del texto que aparece en el shell. Noté que el 'l' usa un par de colores diferentes cuando imprimo información en la pantalla (en mi caja Linux), me preguntaba si podría aprovechar eso en Python.Python | cambiar el color del texto en shell
Respuesta
Use Curses o secuencias de escape ANSI. Antes de comenzar a lanzar secuencias de escape, debe verificar que stdout es un tty. Puede hacer esto con sys.stdout.isatty()
. He aquí una función sacado de un proyecto mío que imprime la salida en rojo o verde, dependiendo de la situación, usando secuencias de escape ANSI:
def hilite(string, status, bold):
attr = []
if status:
# green
attr.append('32')
else:
# red
attr.append('31')
if bold:
attr.append('1')
return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), string)
Todos los principales códigos de color se dan en https://www.siafoo.net/snippet/88
El certificado de seguridad de este sitio web ha expirado. ¿Alguien puede verificar que este es un sitio web seguro? – BlackVegetable
@BlackVegetable, sí, parece lo mismo que antes. Además, puede verlo [HTTP] (http://www.siafoo.net/snippet/88) si lo prefiere. Me pondré en contacto con ellos para informarles sobre el certificado. –
aunque confíe en él, @BlackVegetable, obtendrá un error de proxy –
curses
le permitirá utilizar colores correctamente para el tipo de terminal que se utiliza.
echar un vistazo a http://www.pixelbeat.org/talks/python/ls.py
Esto es tan simple de hacer en un PC: Windows OS: Enviar el sistema operativo de un comando para cambiar el texto: import os
os.system('color a') #green text
print 'I like green'
raw_input('do you?')
acabo de describir biblioteca muy popular clint. Que tiene más características aparte de colorear la salida en la terminal.
Por cierto, admite terminales MAC, Linux y Windows.
Aquí está el ejemplo de su uso:
Instalación (en Ubuntu)
pip install clint
para añadir color a alguna cadena
colored.red('red string')
Ejemplo: Uso de salida de color (estilo de comando django)
from django.core.management.base import BaseCommand
from clint.textui import colored
class Command(BaseCommand):
args = ''
help = 'Starting my own django long process. Use ' + colored.red('<Ctrl>+c') + ' to break.'
def handle(self, *args, **options):
self.stdout.write('Starting the process (Use ' + colored.red('<Ctrl>+c') + ' to break)..')
# ... Rest of my command code ...
- 1. Cambiar el color del texto del shell (Windows)
- 2. Cambiar el color del texto en Eclipse
- 3. Cambiar el color del texto en MoreNavigationController
- 4. Cambiar el color del texto en el campo de texto
- 5. Cambiar el color del texto onclick
- 6. ¿Cómo cambiar el color del texto seleccionado?
- 7. ¿Cómo cambiar el color del cursor sin cambiar el color del texto?
- 8. Cambiar el color del texto del botón cuando se selecciona
- 9. ¿Cambiar el color del texto del cuadro de grupo?
- 10. ¿Cómo cambiar el color del texto de IcsSpinner en ActionBarSherlock?
- 11. ¿Cambiar el color del texto en una vista Web?
- 12. ¿Cómo puedo cambiar el color del texto en IFrame
- 13. Cómo cambiar el color del texto/fuente en reportlab.pdfgen
- 14. ¿Cómo cambiar el color del texto en JtextArea?
- 15. ¿Cambiar el color del cursor de texto (cursivo) en Cocoa?
- 16. Cambiar el color del texto tachado en css
- 17. Cambiar el color del texto resaltado en Android
- 18. Cómo cambiar el color del texto en Highcharts
- 19. ¿Cómo cambiar el color del texto seleccionado en Internet Explorer?
- 20. Barra de acciones de Sherlock cambiar el color del texto
- 21. TextView android: Cambiar el color del texto al hacer clic
- 22. Android: ¿Cómo cambiar el color del texto de ProgressDialog?
- 23. NSTableView Cambiar el color del texto de una fila
- 24. Botón personalizado de Android; cambiar el color del texto
- 25. cambiar el color del botón de texto cuando se presiona
- 26. ¿Cómo puedo cambiar el color del texto con jQuery?
- 27. cambiar el color del enlace
- 28. SWT Java: cómo cambiar el color del texto en el control de etiqueta?
- 29. Cambiando el color del texto
- 30. Cambiar el color del cursor en UITextField
+1 especialmente para 'sys.stdout.isatty()' – Nifle
También es bueno tener una anulación para el caso de que la salida no sea una tty, sino usted todavía quiere el color - digamos que está filtrando líneas con sed o grep –
'unbuffer' puede hacer eso, por lo que no se quedará bloqueado si no hay anulación. –