Python Print farbiger Text
- Verwendung von ANSI-Escape-Codes zum Drucken von farbigem Text in Python
-
Verwenden Sie das Modul
colorama
, um farbigen Text in Python zu drucken
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:
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
oderpip3
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:
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.
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