Je viens de passer depuis peu sous linux, et je me mets à bidouiller un peu
avec python ... Je suis en train d'écrire un petit notificateur de mail en
ligne de commande, que je transformerai sans doute plus tard en script CGI
pour afficher le résultat dans une page web ...
Mais je n'en suis pas encore là, et pour le moment je voudrais afficher les
sujets des messages de chacun de mes comptes dans une couleur donnée, de
façon à pouvoir faire un premier tri visuel.
Alors, question toute bête, comment change-t-on la couleur d'un message
affiché avec print en ligne de commande ?
Merci par avance de votre aide,
--
YannicK
yann801 *arobase* yahoo *point* fr
yann801 *at* yahoo *dot* fr
En envoyant une séquence de caractères spéciale (sequence escape)
que le terminal va interpréter en changeant la couleur du texte.
ex:
python -c 'print "\033[31;40mBLABLABLA"'
^^^^^^^^^^^
sequence 'escape'
python -c 'print "\033[32;40mBLABLABLA"'
^^
couleur du texte
python -c 'print "\033[33;45mBLABLABLA"'
^^
couleur de fond
Pour plus d'info google: ansi color codes.
HTH
--
ulk
N'y a t'il pas un moyen pour ne changer que la couleur du texte pour un print?
Guille
> Mais je n'en suis pas encore là, et pour le moment je voudrais afficher
> les sujets des messages de chacun de mes comptes dans une couleur donnée,
> de façon à pouvoir faire un premier tri visuel.
>
> Alors, question toute bête, comment change-t-on la couleur d'un message
> affiché avec print en ligne de commande ?
Si tu veux une solution un peu plus portable que d'imprimer directement les
caractères d'échappement, tu devrais te renseigner sur la base de donnée
terminfo (va voir aussi du côté des termcap). Par contre je n'ai pas la
moindre idée de comment l'utiliser avec Python (peut-être un module
terminfo ?).
--
Maxime Biais
Oui, il te faut envoyer une sequence qui rebasculera ton texte dans la
couleur d'origine en fin de chaine.
python -c 'print "\033[32;40mBLABLABLA\033[0m";print "BLUBLUBLU"'
^^^^^^^
En revanche comme le dit Maxime, si tu veux aller plus loin dans le
developpement d'application "console", alors à toi les joies de
terminfo, termcap, et curses... mais c'est un vaste sujet sans véritable
lien direct avec python.
ciao
--
ulk
Voir la doc du package "curses" de la distro standard...
--
Gilles