que tienen las siguientes funciones para colorear mis mensajes en la pantalla:impresión en STDOUT y el archivo de registro mientras se quita los códigos de color ANSI
def error(string):
return '\033[31;1m' + string + '\033[0m'
def standout(string):
return '\033[34;1m' + string + '\033[0m'
Las uso de la siguiente manera:
print error('There was a problem with the program')
print "This is normal " + standout("and this stands out")
que quieren registrar el salida a un archivo (además de STDOUT) SIN los códigos de color ANSI, con suerte sin tener que agregar una segunda línea de "registro" a cada declaración print
.
La razón es que si simplemente python program.py > out
el archivo out
tendrá los códigos de color ANSI, que se ven terribles si se abre en un editor de texto sin formato.
¿Algún consejo?
excelente respuesta - esto puede ser exactamente lo que necesito. De hecho, estoy usando el módulo de registro, pero quiero dejar que el usuario tenga la opción de redirigir el resultado y obtener un archivo legible por humanos. El registro en sí mismo es creado por el módulo de registro (y con su enfoque, lo más probable es que obtenga lo que quiero). – Escualo
Acabo de probar su enfoque y funciona exactamente como se esperaba. ¡Muchas gracias! – Escualo