3256 Stimmen

Wie drucke ich farbigen Text auf dem Terminal in Python?

Wie kann ich in Python farbigen Text auf dem Terminal ausgeben?

1 Stimmen

Dieses Symbol eignet sich hervorragend für einen farbigen Block: Das einzige Problem ist, dass es sich um erweitertes ASCII handelt, vielleicht kann man es mit http://stackoverflow.com/questions/8465226/using-extended-as‌​cii-codes-with-pytho‌​n

1 Stimmen

Einige Terminals können auch Unicode-Zeichen anzeigen. Wenn dies auf Ihr Terminal zutrifft, sind die möglichen Zeichen fast unbegrenzt.

9 Stimmen

Diese Antwort kam ziemlich spät, aber sie scheint mir die beste zu sein... die anderen Antworten erfordern spezielle Hacks für Windows, während diese Antwort einfach funktioniert: stackoverflow.com/a/3332860/901641

19voto

daharon Punkte 1982

Sie können die Python-Implementierung der Methode verflucht Bibliothek: curses - Terminal-Handling für Zeichenzellen-Displays

Führen Sie dies aus und Sie werden Ihre Box finden:

for i in range(255):
    print i, chr(i)

0 Stimmen

Ich persönlich denke, dass die "curses"-Bibliothek von "blessings" völlig in den Schatten gestellt wurde, so wie "requests" "urllib" usw. in den Schatten gestellt hat.

19voto

Mojtaba Hosseini Punkte 68078

Emoji

Sie können Farben für Text verwenden, wie andere in ihren Antworten erwähnt haben, um farbigen Text mit einer Hintergrund- oder Vordergrundfarbe zu haben.

Aber Sie können Emojis stattdessen! Sie können zum Beispiel verwenden für Warnmeldungen und für Fehlermeldungen.

Oder verwenden Sie diese Notizbücher einfach als Farbe:

: error message
: warning message
: ok status message
: action message
: canceled status message
: Or anything you like and want to recognize immediately by color

Bonus:

Mit dieser Methode können Sie auch Protokolle schnell scannen und finden direkt im Quellcode .

Aber bei einigen Betriebssystemen (einschließlich einiger Linux-Distributionen in einigen Versionen mit einigen Fenstermanagern) ist die Standard-Emoji-Schriftart standardmäßig nicht farbig und Sie möchten sie vielleicht zuerst farbig machen.

1 Stimmen

Ich wurde nicht danach gefragt, aber ich bin froh, dass Sie es trotzdem mitgeteilt haben! Ich ziehe dies wirklich den Textfarben vor.

0 Stimmen

Linux? Welche Distribution, Version und welcher Window-Manager? Ubuntu 20.04 (Focal Fossa) ?

0 Stimmen

Antwort aktualisiert, um präziser zu sein. Danke für den Hinweis @PeterMortensen

16voto

suhib-alsisan Punkte 151

Wenn Sie ein Spiel programmieren, möchten Sie vielleicht die Hintergrundfarbe ändern und nur Leerzeichen verwenden? Zum Beispiel:

print " "+ "\033[01;41m" + " " +"\033[01;46m"  + "  " + "\033[01;42m"

0 Stimmen

Mehr dazu finden Sie hier. linux.byexamples.com/archives/184/

15voto

kmario23 Punkte 49380

Eine einfachere Möglichkeit wäre die Verwendung der cprint Funktion aus der termcolor Paket.

color-print-python

Außerdem unterstützt es %s, %d Format des Drucks:

Enter image description here

Die Ergebnisse können vom Endgerät abhängig sein, daher sollten Sie die Terminal-Eigenschaften Abschnitt der Paketdokumentation.

  • Die Windows-Eingabeaufforderung und Python IDLE funktionieren nicht

enter image description here

enter image description here

  • JupyterLab-Notebook funktioniert

enter image description here

0 Stimmen

Falls Sie nach einer Lösung suchen für Windows 10 , siehe hier => stackoverflow.com/a/70599663/3057246

12voto

YAY! Eine andere Version

Ich finde zwar diese Antwort nützlich ist, habe ich sie ein wenig verändert. Diese GitHub Gist ist das Ergebnis

Verwendung

print colors.draw("i'm yellow", bold=True, fg_yellow=True)

Enter image description here

Außerdem können Sie gemeinsame Verwendungszwecke einpacken:

print colors.error('sorry, ')

Asd

https://gist.github.com/Jossef/0ee20314577925b4027f

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X