colorama – Texto y fondo coloreados en la consola



Versión: 2.x, 3.x.

Vista previa
Imagen tomada de la página del proyecto en GitHub.

colorama es un módulo que permite imprimir textos en colores en la salida de la terminal o consola, incluyendo el fondo o estilo del texto, en múltiples plataformas. En la mayoría de las terminales el módulo utiliza internamente las secuencias de escape ANSI o bien las funciones de la API del sistema en Windows para obtener el mismo resultado (¡pero el usuario no debe preocuparse por eso!).

Descarga e instalación

Colorama no tiene dependencias y está escrito completamente en Python, por lo que su instalación es muy sencilla. Puedes descargar el código de fuente en archivo ZIP desde su página en PyPI. Una vez extraído, simplemente:

python setup.py install

Usuarios de Microsoft Windows alternativamente pueden descargar un instalador del módulo vía windows.recursospython.com.

Ejemplos

Antes de imprimir cualquier texto, es necesario inicializar colorama.

from colorama import init
init()

(Internamente, el módulo reemplaza la salida estándar, stdout y stderr, para poder convertir las secuencias de escape ANSI en llamadas a la API de Windows y así lograr el soporte multiplataforma.)

Para cambiar el color del texto, se utiliza una de las constantes colorama.Fore.*. Por el ejemplo, el siguiente código imprime “Recursos Python” en color verde.

from colorama import Fore, init
init()

print(Fore.GREEN + "Recursos Python")

Vista previa
Vista previa

(Vista previa en Windows y CentOS.)

Para cambiar el fondo, análogamente utilizamos las constantes colorama.Back.*.

from colorama import Back, init
init()

print(Back.RED + "Recursos Python")

Vista previa

También pueden ser utilizados simultáneamente

from colorama import Back, Fore, init
init()

print(Back.RED + Fore.GREEN + "Recursos Python")

Los colores disponibles para las constantes Back y Fore son los siguientes: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE.

Nótese que el efecto (color de texto y fondo) se mantiene para las siguientes impresiones.

print(Back.RED + Fore.GREEN + "Recursos Python")
print("Este texto mantiene el efecto anterior.")

Para regresar a los colores por defecto, utilícese las constantes Back.RESET (para el fondo) y Fore.RESET (para el texto).

print(Back.RESET + Fore.RESET + "Este texto es normal.")

Si quieres que los colores vuelvan a su estado original luego de cada mensaje (para evitar usar constantemente RESET) puedes indicárselo a Colorama al inicializar.

init(autoreset=True)

Además, puedes controlar la intensidad del texto (intensidad baja, normal o alta).

from colorama import Style, init
init()

print(Style.DIM + "Recursos Python")
print(Style.NORMAL + "Recursos Python")
print(Style.BRIGHT + "Recursos Python")

(En Windows, Style.DIM es igual a Style.NORMAL)

Vista previa

Style.RESET_ALL puede emplearse para regresar todos los estilos a la normalidad.

Todos los efectos anteriores pueden combinarse, por ejemplo:

print(Style.BRIGHT + "Recursos", Style.RESET_ALL + Fore.GREEN + "Python")

Vista previa

En el archivo ZIP del código de fuente encontrarás más ejemplo dentro de la carpeta demos y en la página del proyecto. Por ejemplo, el archivo demos/demo01.py muestra todas las combinaciones de estilos.

Vista previa

Por último, Colorama permite también controlar la posición del texto en la consola. Por ejemplo, el siguiente código imprime “Recursos Python” y luego de 3 segundos reemplaza ese mismo texto por “www.recursospython.com”.

from time import sleep

from colorama import Cursor, init
init()

print("Recursos Python")
sleep(3)
print(Cursor.BACK(15) + Cursor.UP(1) + "www.recursospython.com")

BACK(15) retrocede 15 posiciones (el tamaño de la cadena “Recursos Python”), mientras que UP(1) sube una línea. Análogamente puede usarse Cursor.FORWARD (para ir hacia adelante) y Cursor.DOWN (para bajar líneas).



2 comentarios.

Deja un comentario