Python — Text im Terminal farbig darstellen

In Python existieren verschiedene Wege, Text im Terminal in einer anderen Farbe darzustellen. In diesem Beitrag möchte ich zwei Möglichkeiten vorstellen.

Die gebräuchlichste Methode in macOS und Linux ist die Verwendung einer ANSI Escape-Sequenz. Im folgenden Beispiel wird „Hello, World“ mit der Funktion print() in unterschiedlichen Farben im Terminal ausgegeben:

def main() -> None:
    """Print colored text
    """
    print(f"\033[91m{"Hello, World"}")
    print(f"\033[92m{"Hello, World"}")
    print(f"\033[93m{"Hello, World"}")
    print(f"\033[94m{"Hello, World"}")
    print(f"\033[95m{"Hello, World"}")
    print(f"\033[96m{"Hello, World"}")
    
    
if __name__ == "__main__":
    main()
Colored terminal text
Farbiger Text im Terminal

Escape-Sequenzen können auch dafür verwendet werden, den Hintergrund in einer anderen Farbe darzustellen:

# Colored background
print(f"\033[41m{"red background"}\033[0m")
print(f"\033[42m{"green background"}\033[0m")
print(f"\033[43m{"yellow background"}\033[0m")
print(f"\033[44m{"blue background"}\033[0m")
print(f"\033[45m{"purple background"}\033[0m")
print(f"\033[46m{"cyan background"}\033[0m")
print(f"\033[47m{"white background"}\033[0m")
Text mit farbigem Hintergrund

Dabei ist darauf zu achten, dass nach dem in den geschweiften Klammern aufgeführten Text, die Sequenz \033[0m" folgt. Dies hebt die farbliche Darstellung wieder auf. Wird diese Sequenz weggelassen, führt dies dazu, dass nicht nur der auszugebende Text, sondern auch alle folgenden Zeilen farblich dargestellt werden, wie nachfolgende Abbildung zeigt.

red colored background in the terminal
Die Hintergrundfarbe wurde nicht wieder aufgehoben.

Das Modul Colorama macht die Verwendung von ANSI Escape-Sequenzen auch unter Windows möglich. Die Installation erfolgt mit pip:

pip install colorama

Nutzer der Conda-Paketverwaltung verwenden folgende Anweisung:

conda install -c anaconda colorama

Für die farbliche Darstellung des Vorder- oder des Hintergrundes ist folgende Import-Anweisung voranzustellen:

from colorama import Fore, Back, Style

Der Code sieht jetzt wie folgt aus, wobei Style.RESET_ALL verwendet wird, um die Zuweisung der Hintergrundfarbe wieder aufzuheben.

print(Fore.RED + 'red text')
print(Fore.GREEN + 'green text')
print(Fore.YELLOW + 'yellow text')
print(Fore.BLUE + 'blue text')
print(Fore.MAGENTA + 'magenta text')

print(Back.RED + 'red background' + Style.RESET_ALL)
print(Back.GREEN + 'green background' + Style.RESET_ALL)
print(Back.YELLOW + 'yellow background' + Style.RESET_ALL)
print(Back.BLUE + 'blue background' + Style.RESET_ALL)
print(Back.MAGENTA + 'magenta background' + Style.RESET_ALL)

Den Code zu diesem Artikel sowie weitere Code-Beispiele findet Ihr im Github-Repository „small-python-projects“:

git clone https://github.com/niftycode/small-python-projects.git

Werft auch einen Blick in meine anderen bisher veröffentlichten Python-Tutorials.

Zuletzt aktualisiert am 12. Juni 2024