Kann ich mit Python den print("DenTextHier") Farbig ausgeben?

1 Antwort

Das Zauberwort heißt Escape-Sequenz. Escapesequenzen kommen aus einer Zeit, in der Terminals und Consolen noch echte Hardware waren. Die meisten der heutigen Konsolen- oder Terminalprogramme unterstützen diese Escapesequenzen immer noch. Eine gute Beschreibung findest Du hier (http://academic.evergreen.edu/projects/biophysics/technotes/program/ansi_esc.htm). Die Startsequenze ist immer "\x1B[".

Die Zeile print("\x1B[31mText\x1B[0m") gibt 'Text' in roter Farbe aus. Bitte nie vergessen, nach dem Text, die Terminal-Attribute mit "\x1B[0m" wieder abzuschalten, sonst kommen ab da an alle Texte in dieser Farbe.

Mit Escape-Sequenzen kann man weit mehr machen, als nur farbige Texte ausgeben. Man kann z.B. auch den Cursor lenken, um ihn z.B. für eine auf der Zeile bleibenden Progressanzeige auf der Zeile zu halten.

Sollte Dein Terminalprogramm das nicht sofort richtig anzeigen, kannst Du das in Deinem Terminalprogramm unter Optionen und Terminal Type einstellen.

LaBestia532  01.02.2019, 22:01

Vielen Dank für diese Hilfe,

wenn ich jedoch das von dir, oben vorgeschlagene Beispiel per Copy-Paste einfüge funktioniert es nicht.

Als Ergebnis kommt Text in der Konsole.

Hab Windows 10 und Python 3.7.2.

Hast du eine Idee, was ich falsch mach.

Vielen Dank im Vorhinaus (c;

0
nioy1  04.10.2020, 13:04
@LaBestia532

Moin Moin,

bei mir muss ich print und den kram danach immer mit abstand schreiben. Also im deinem Falle "print ("\x1B[31mText\x1B[0m")" somit hast du dort ein Leerzeichen dazwischen, dann dürfte es funktionieren.

Grüße, Nioy

0
Lenny774  26.06.2022, 13:34
@LaBestia532

Hast du das Problem gelöst?

Ich weiß nur, dass ich es auch mal getestet habe, und es nur in Pycharm ging.

Ich sitze momentan auch dran, und bei mir zeigt er auch nur so ein quatsch an

LG

0