HOWTO · Python

Fettgedruckten Text in Python ausgeben

Erfahren Sie, wie Sie fettgedruckten Text in einem Python-Terminal mit ANSI-Sequenzen oder Formatierungsbibliotheken ausgeben.

Auf dieser Seite

Um Text in einem Python-Terminal fett auszugeben, können Sie ihn in ANSI-Escape-Sequenzen einschließen oder eine Formatierungsbibliothek wie termcolor, colorama, simple_colors oder click verwenden. Diese Möglichkeiten formatieren die Terminalausgabe; für fetten Text in einem Dokument oder auf einer Webseite verwenden Sie Markdown oder HTML. Die Beispiele beziehen sich auf Terminaltext. Ob die Formatierung sichtbar ist, hängt davon ab, ob das Terminal ANSI-Sequenzen unterstützt.

Mit ANSI-Escape-Sequenzen fettgedruckten Text in Python ausgeben

ANSI-Escape-Sequenzen können die Textformatierung in einem kompatiblen Terminal ohne zusätzliche Python-Abhängigkeit ändern. Die Sequenz \033[1m schaltet die Fettschrift ein, und \033[0m setzt die normale Formatierung wieder zurück. Eine wiederverwendbare Klasse bündelt diese Sequenzen:

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Setzen Sie die Formatierung nach dem formatierten Text zurück, damit sie nicht auf spätere Terminalausgaben übergreift. Die Escape-Sequenzen werden nur von Terminals interpretiert, die ANSI-Formatierung unterstützen.

Mit einer Klasse fettgedruckten Text in Python ausgeben

Die oben gezeigte Klasse BoldText stellt die Konstanten BOLD und RESET bereit. So können Sie dieselbe Formatierung in weiteren print-Aufrufen wiederverwenden. Setzen Sie die Formatierung am Ende jedes formatierten Abschnitts zurück. Die Klasse sendet lediglich ANSI-Steuersequenzen; sie erkennt nicht, ob das Ausgabegerät diese darstellen kann.

Mit dem Modul termcolor fettgedruckten Text in Python ausgeben

termcolor ist ein Paket zum Formatieren von Terminaltext; colored() ist die zugehörige Formatierungsfunktion. Installieren Sie das Paket mit python -m pip install termcolor. Rufen Sie anschließend colored("Python", "green", attrs=["bold"]) auf und geben Sie die zurückgegebene Zeichenkette aus. Dieses Paket ist in der Python-Laufzeit dieser Umgebung nicht verfügbar. Daher zeigen wir den Aufruf hier inline statt in einem ausführbaren Beispiel.

Für denselben Terminaleffekt können Sie in der bereitgestellten Laufzeit die folgende eigenständige ANSI-Alternative verwenden. Sie verwendet termcolor nicht. Der Aufruf des Pakets oben ist ein Beispiel und setzt voraus, dass Sie das Paket in Ihrer eigenen Umgebung installieren.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Mit dem Paket colorama fettgedruckten Text in Python ausgeben

colorama erleichtert die Verwendung von ANSI-Formatierungen in verschiedenen Terminals und verbessert unter anderem die Verarbeitung von ANSI-Sequenzen unter Windows. Installieren Sie das Paket mit python -m pip install colorama, rufen Sie init() auf und geben Sie anschließend f"{Style.BRIGHT}Bold Text{Style.RESET_ALL}" aus. Importieren Sie dazu Style und init aus colorama. Style.BRIGHT hebt den Text hervor, und Style.RESET_ALL stellt die Standardformatierung wieder her. Das Paket ist in der konfigurierten Python-Laufzeit nicht verfügbar; seine Verwendung wird daher inline beschrieben und nicht als ausführbares Beispiel gezeigt. Die Initialisierung garantiert nicht, dass jede Konsole oder jedes Ausgabegerät fetten Text darstellt.

Die folgende Alternative kann in der Laufzeit ausgeführt werden und sendet die entsprechende ANSI-Formatierung direkt. Sie verwendet colorama nicht. Installieren Sie das Paket, um die oben beschriebenen Aufrufe und dessen Plattformverarbeitung auszuprobieren.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Mit dem Paket simple-color fettgedruckten Text in Python ausgeben

Die Distribution heißt bei der Installation simple-colors und wird als simple_colors importiert. Installieren Sie sie mit python -m pip install simple-colors und verwenden Sie anschließend green("Python", "bold") aus simple_colors. Dieses Paket ist in der Python-Laufzeit dieses Workflows nicht enthalten. Der Aufruf wird deshalb inline angegeben und wurde hier nicht ausgeführt. Auch diese Formatierung setzt ein unterstützendes Terminal voraus.

Hier ist eine ausführbare Alternative aus der Standardbibliothek, die denselben fettgedruckten Terminaltext ausgibt. Der Aufruf von simple_colors oben ist illustrativ; zum Ausführen müssen Sie simple-colors installieren.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Mit der Bibliothek click fettgedruckten Text in Python ausgeben

Wenn Ihre Kommandozeilenanwendung bereits click verwendet, installieren Sie die Bibliothek mit python -m pip install click. click.echo(click.style("Bold Text", bold=True)) formatiert eine Zeichenkette und gibt sie im Terminal aus. click ist in der konfigurierten Python-Laufzeit nicht enthalten. Daher wird die Verwendung hier inline beschrieben und nicht als ausführbares Beispiel gezeigt. Wie bei den anderen Bibliotheken hängt die sichtbare Formatierung von der Ausgabeverarbeitung ab.

Die folgende eigenständige Alternative verwendet ANSI direkt und lässt sich daher ohne click ausführen. Die Aufrufe click.style() und click.echo() oben sind Beispiele; nach der Installation von click können Sie sie ausführen.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Fazit

Verwenden Sie ANSI-Sequenzen direkt, wenn Sie keine zusätzliche Abhängigkeit möchten. Eine kleine Klasse eignet sich, wenn Sie Formatierungskonstanten wiederverwenden wollen. Die Bibliotheken termcolor, colorama, simple_colors und click bieten dafür komfortablere Hilfsfunktionen. In Terminals, die ANSI-Sequenzen nicht interpretieren, kann die Formatierung als gewöhnlicher Text erscheinen. Wählen Sie die Methode daher passend zu Ihrer Zielumgebung.