[Python-de] wie setze ich farben beim output?

Markus Majer mm at mpathy.de
Don Feb 9 09:22:22 CET 2006


robert rottermann schrieb:
> Hallo,
> 
> vor knapp 200 Jahren, als ich noch MsDOS Konsolenprogramme schrieb, 
> wurden die per Eskape-Sequenzen "koloriert".
> Das geht ja wohl genau gleich mit dem Output den ich auf einer 
> Linux-Konsole per print produziere.
> 
> Kann mir jemand sagen wo ich die entsprechenden Sequenzen finde?
> 
> danke
> Robert
> 
> _______________________________________________
> python-de maillist  -  python-de at python.net
> http://python.net/mailman/listinfo/python-de


Hi Robert!

Das geht mit Escape-Sequenzen, so wie hier in etwa:
http://www.selflinux.org/selflinux/html/bash_farben01.html

Hier das (leider nur Bash) Skript zur Ausgabe aller Farben, von dort:

--

#!/bin/sh
############################################################
# Nico Golde <nico at ngolde.de> Homepage: http://www.ngolde.de
# Letzte Änderung: Mon Feb 16 16:24:41 CET 2004
############################################################

for attr in 0 1 4 5 7 ; do
     echo "----------------------------------------------------------------"
     printf "ESC[%s;Vordergrund;Hintergrundm - \n" $attr
     for fore in 30 31 32 33 34 35 36 37; do
         for back in 40 41 42 43 44 45 46 47; do
             printf '\033[%s;%s;%sm %02s;%02s  ' $attr $fore $back $fore 
$back
         done
     printf '\n'
     done
     printf '\033[0m'
done
# Fertig.

--

Allerdings find ich das recht umständlich - gut, du könntest dir ja ein 
paar Funktionen zurechtbasteln, damit du das etwas geschickter machen 
kannst, aber ich vermute mal sowas gibt es schon irgendwo?

Deswegen meine Zusatzfrage an die nachfolgenden Schreiberlinge:
Wo finde ich ein einfach zu bedienendes Modul für diesen Zweck?

Grüße
Markus.