Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

couleur du texte en ligne de commande.

411 views
Skip to first unread message

YannicK

unread,
Feb 21, 2004, 9:53:37 AM2/21/04
to
Bonjour,

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

ulk

unread,
Feb 22, 2004, 10:46:06 AM2/22/04
to
On 2004-02-21, YannicK <yann801.no...@yahoopoint.fr> wrote:
>
> Alors, question toute bête, comment change-t-on la couleur d'un message
> affiché avec print en ligne de commande ?

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


Guillermo Fernandez Castellanos

unread,
Feb 23, 2004, 8:20:09 AM2/23/04
to
J'ai essayé chez moi, mais le problèmme est que le terminal change de couleur
définitivement!

N'y a t'il pas un moyen pour ne changer que la couleur du texte pour un print?

Guille

Maxime Biais

unread,
Feb 23, 2004, 9:25:19 AM2/23/04
to
On Sat, 21 Feb 2004 15:53:37 +0100
YannicK <yann801.no...@yahoopoint.fr> wrote:

> 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

dsan-k

unread,
Feb 23, 2004, 3:29:47 PM2/23/04
to
On 2004-02-23, <guillermo...@epfl.ch> wrote:
> J'ai essayé chez moi, mais le problèmme est que le terminal change de couleur
> définitivement!
>
> N'y a t'il pas un moyen pour ne changer que la couleur du texte pour un print?

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

Gilles Lenfant

unread,
Feb 28, 2004, 2:50:15 PM2/28/04
to
"YannicK" <yann801.no...@yahoopoint.fr> a écrit dans le message de
news:40377121$0$26231$afc3...@news.easynet.fr...

> Bonjour,
>
> 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,

Voir la doc du package "curses" de la distro standard...

--
Gilles


0 new messages