Saltar al contenido

Python: ¿Cómo puedo hacer que los códigos de escape ANSI funcionen también en Windows?

Posterior a de una prolongada selección de datos pudimos solucionar esta dificultad que pueden tener ciertos los lectores. Te compartimos la solución y deseamos resultarte de mucha ayuda.

¿Podría verificar el módulo de Python para habilitar los colores ANSI para la salida estándar en Windows? para ver si te sirve.

El módulo colorama parece ser multiplataforma.

Instalas colorama:

pip install colorama

Luego:

importar colorama colorama.init() start = "33[1;31m"
end = "33[0;0m"
print "File is: " + start + "" + end

For windows, calling os.system(“color”) makes the ANSI escape sequence get processed correctly:

import os
os.system("color")

COLOR = 
    "HEADER": "33[95m",
    "BLUE": "33[94m",
    "GREEN": "33[92m",
    "RED": "33[91m",
    "ENDC": "33[0m",


print(COLOR["GREEN"]"¡¡Probando el verde!!", COLOR["ENDC"])

Aquí está la solución que he buscado durante mucho tiempo. Simplemente use el ctypes módulo, de la biblioteca estándar. Se instala por defecto con Python 3.x, solamente en Windows Así que compruebe si el sistema operativo es Windows antes de usarlo (con platform.systempor ejemplo).

import os
if os.name == 'nt': # Only if we are running on Windows
    from ctypes import windll
    k = windll.kernel32
    k.SetConsoleMode(k.GetStdHandle(-11), 7)

Después de haber hecho eso, puede usar caracteres especiales ASCII (como x1b[31mpara el color rojo) como si estuvieras en un sistema operativo Unix:

message = "ERROR"
print(f"x1b[31mmessagex1b[0m")

Me gusta esta solución porque no necesita instalar un módulo (como colorama o termcolor).

Comentarios y calificaciones de la guía

Nos puedes proteger nuestro cometido mostrando un comentario y puntuándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *