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()
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")
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.
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