I ont les fonctions suivantes pour colorisation mes messages d'écran:impression à STDOUT et le fichier journal tout en supprimant les codes couleurs ANSI
def error(string):
return '\033[31;1m' + string + '\033[0m'
def standout(string):
return '\033[34;1m' + string + '\033[0m'
Je les utilise comme suit:
print error('There was a problem with the program')
print "This is normal " + standout("and this stands out")
Je veux connecter le sortie vers un fichier (en plus de STDOUT) SANS les codes de couleurs ANSI, sans avoir à ajouter une seconde ligne "logging" à chaque instruction print
. La raison est que si vous simplement python program.py > out
alors le fichier out
aura les codes de couleur ANSI, ce qui semble terrible si vous ouvrez dans un éditeur de texte en clair.
Un conseil?
Excellente réponse - cela peut être exactement ce que j'ai besoin. J'utilise actuellement le module de journalisation, mais je souhaite que l'utilisateur ait la possibilité de rediriger la sortie et d'obtenir un fichier lisible par l'utilisateur. Le journal lui-même est créé par le module de journalisation (et avec votre approche, je vais probablement obtenir ce que je veux). – Escualo
Je viens de tester votre approche et cela fonctionne exactement comme prévu. Merci beaucoup! – Escualo