Python Print farbiger Text

Rayven Esplanada 14 November 2020
  1. Verwendung von ANSI-Escape-Codes zum Drucken von farbigem Text in Python
  2. Verwenden Sie das Modul colorama, um farbigen Text in Python zu drucken
Python Print farbiger Text

Dieses Tutorial zeigt Ihnen, wie Sie farbigen Text erzeugen, wenn Sie in Python drucken.

Die einzige Möglichkeit, die Befehlszeilenkonsole durch Eingabe zu manipulieren, ist die Verwendung von ANSI Escape Codes. Mit diesen Codes können Konsolenfunktionen wie Text- oder Hintergrundfarbe, Cursor-Einstellungen, Schriftarten und andere modifizierbare Elemente innerhalb der Konsole manipuliert werden.

Verwendung von ANSI-Escape-Codes zum Drucken von farbigem Text in Python

Zuerst deklarieren wir eine Python-Klasse, die uns ein paar ANSI-Codes zur Verfügung stellt, die Farben darstellen, mit denen wir arbeiten können.

class bcolors:
    OK = "\033[92m"  # GREEN
    WARNING = "\033[93m"  # YELLOW
    FAIL = "\033[91m"  # RED
    RESET = "\033[0m"  # RESET COLOR

3 dieser Variablen sind der eigentliche ANSI-Code für Farben, während die Variable RESET dazu dient, die Farbe auf die Voreinstellung zurückzusetzen.

Die Funktion print() gibt ein String-Argument auf der Kommandozeilen-Konsole aus.

Wenn Sie möchten, dass die Ausgabe von print() farbig ist, müssten Sie ANSI-Code in die Zeichenkette einfügen, der die Kommandozeilenkonsole manipulieren kann.

Mit der Klasse bcolors werden wir 3 verschiedene Zeilen mit unterschiedlichen Farben ausgeben.

print(bcolors.OK + "File Saved Successfully!" + bcolors.RESET)
print(bcolors.WARNING + "Warning: Are you sure you want to continue?" + bcolors.RESET)
print(bcolors.FAIL + "Unable to delete record." + bcolors.RESET)

Wir präfixieren die Zeichenkette mit der Farbe, die sie reflektieren soll, und fügen ihr das Suffix bcolors.RESET hinzu, um die Farbe vor der nächsten Verwendung von print() oder der nächsten Verwendung des Terminals auf den Standardwert zurückzusetzen.

Wenn Sie Python 3 benutzen, können Sie Ihre print()-Anweisung auch wie folgt formatieren:

print(f"{bcolors.OK}File Saved Successfully!{bcolors.RESET}")
print(f"{bcolors.WARNING}Warning: Are you sure you want to continue?{bcolors.RESET}")
print(f"{bcolors.FAIL}Unable to delete record.{bcolors.RESET}")

Ausgeben:

Python-farbige Textausgabe

Nach Ausgabe der letzten Zeile wird das Terminal aufgrund von bcolors.RESET wieder auf seine Standardfarbe zurückgesetzt. Wenn Sie es nicht an das Ende Ihrer Zeilen setzen, wird der Text innerhalb des Terminals in der zuletzt unter print() eingestellten Farbe eingefärbt. In diesem Fall wäre sie rot.

Verwenden Sie das Modul colorama, um farbigen Text in Python zu drucken

Das Problem von ANSI ist, dass es möglicherweise nicht gut mit dem Windows-Betriebssystem funktioniert, so dass Sie Umgehungslösungen benötigen würden, damit es in Windows-Konsolen funktioniert.

colorama ist ein Python-Modul, das ANSI-Escape-Codes verwendet. Dieses Modul macht es auch möglich, dass ANSI mit Windows kompatibel ist. Die Dokumentation erklärt, wie sie es möglich gemacht haben, ANSI-Code für Windows-Kompatibilität zu wrappen.

Hier ist eine Liste der verfügbaren colorama Vordergrundfarben:

BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET

Sie haben auch Stile, darunter ein RESET_ALL, das alle aktuellen ANSI-Modifikationen zurücksetzt, während Fore.RESET nur das letzte ANSI zurücksetzt.

DIM, NORMAL, BRIGHT, RESET_ALL

Zuerst müssen wir das colorama installieren, da es eine von der Gemeinschaft erstellte Bibliothek ist. Wir können entweder pip oder anaconda benutzen, um diese Abhängigkeit zu installieren.

  • Für pip oder pip3
pip install colorama
pip3 install colorama //if you're using python3
  • Für anaconda
conda install -c anaconda colorama

Wir werden einige der Farben ausprobieren und mehrere Zeilen mit verschiedenen Farben und Stilen ausgeben. Wir benutzen colorama.init(), damit diese Einstellungen unter Windows funktionieren.

import colorama
from colorama import Fore
from colorama import Style

colorama.init()
print(Fore.BLUE + Style.BRIGHT + "This is the color of the sky" + Style.RESET_ALL)
print(Fore.GREEN + "This is the color of grass" + Style.RESET_ALL)
print(Fore.BLUE + Style.DIM + "This is a dimmer version of the sky" + Style.RESET_ALL)
print(Fore.YELLOW + "This is the color of the sun" + Style.RESET_ALL)

Ausgabe:

Python-farbige Textausgabe mit colorma

DIM und BRIGHT geben bei Verwendung auf derselben Farbe unterschiedliche Farbtöne aus. RESET_ALL setzt die Farbe auf den Standardwert zurück, um sie auf eine andere Farbe zu setzen oder sie auf den Standardwert zurückzulassen.

Zusammenfassend lässt sich sagen, dass die einzige Möglichkeit, farbigen Text in Python auszudrucken, die Verwendung von ANSI-Escape-Codes ist. Es ist die einzige Möglichkeit für die Konsole, Anweisungen aus Python’s print()-Anweisung zu verstehen. Sie können dies manuell tun, indem Sie den eigentlichen Escape-Code in Ihre print() einfügen oder colorama verwenden, um den ANSI-Code in ein besser lesbares Format zu bringen.

Wenn Sie mehr Optionen für die Farben des ANSI-Codes erhalten möchten, gibt es viele Ressourcen im Internet, um sie bereitzustellen, dieser Artikel ist ein guter Anfang. Sie können mit ANSI-Code auch Text formatieren (fett, unterstrichen, kursiv), den Konsolenhintergrund ändern und vieles mehr.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Verwandter Artikel - Python Print