mi hanno le seguenti funzioni per colorare i miei messaggi su schermo:stampa STDOUT e file di log durante la rimozione codici colore ANSI
def error(string):
return '\033[31;1m' + string + '\033[0m'
def standout(string):
return '\033[34;1m' + string + '\033[0m'
loro che uso come segue:
print error('There was a problem with the program')
print "This is normal " + standout("and this stands out")
voglio registrare il output su un file (oltre a STDOUT) SENZA i codici colore ANSI, si spera senza aggiungere una seconda riga "logging" a ciascuna istruzione print
.
Il motivo è che se si semplicemente python program.py > out
il file out
avrà i codici colore ANSI, che sembrano terribili se si apre in un editor di testo semplice.
Qualche consiglio?
risposta eccellente - questo potrebbe essere esattamente quello che mi serve. In realtà sto usando il modulo di registrazione, ma voglio lasciare all'utente la possibilità di reindirizzare l'output e ottenere un file leggibile dall'uomo. Il log stesso viene creato dal modulo di registrazione (e con il tuo approccio molto probabilmente otterrò quello che voglio). – Escualo
Ho appena testato il tuo approccio e funziona esattamente come previsto. Grazie molto! – Escualo