Lire le texte actuel de la couleur dans un xterm

Je suis en train d'écrire divers utilitaires, et je suis vraiment aimer colorisée texte. Rien de compliqué, juste en utilisant les séquences d'échappement. J'ai créé une classe simple qui a une pprint(msg, couleur) de la fonction. J'ai eu travaille assez facilement après avoir trouvé les codes ici.

Le problème que je rencontre est que je devrais être en mesure de désactiver la couleur après l'impression. Par exemple, supposons qu'un utilisateur exécute mon programme qui imprime presque tout dans le terminal par défaut de la couleur, mais il y a une erreur, et je veux imprimer l'erreur en rouge. Je préfixe mon message d'erreur avec "\033[0;32m", et le message est dans le rouge. Malheureusement, tout le texte est en rouge jusqu'à ce que je le change. C'est généralement bien alors que mon programme est en cours d'exécution parce que je sais quelle est la couleur des messages devrait être. Cependant, la couleur reste après mon programme se termine. En gros, je voudrais lire la couleur en cours lors de mon démarrage du programme, et de les restaurer lorsque vous avez terminé. De la même manière que les scripts de restauration de la ddt lors de la sortie.

Comment puis-je connaître la séquence d'échappement?

Système:
Red Hat 5.x
Bash
Python 2.3

Merci pour l'aide.

InformationsquelleAutor fandingo | 2010-12-02