Wie kann ich in Python farbigen Text auf dem Terminal ausgeben?
Eine Erklärung wäre angebracht.
Wie kann ich in Python farbigen Text auf dem Terminal ausgeben?
Ich habe ein einfaches Modul geschrieben, verfügbar unter: http://pypi.python.org/pypi/colorconsole
Es funktioniert mit Windows, Mac OS X und Linux. Es verwendet ANSI für Linux und Mac, aber native Aufrufe an Konsolenfunktionen unter Windows. Sie haben Farben, Cursorpositionierung und Tastatureingabe. Es ist kein Ersatz für Curses, kann aber sehr nützlich sein, wenn Sie in einfachen Skripten oder ASCII-Spielen verwenden müssen.
Hier ist eine einfache Funktion, mit der ich eine Textnachricht in Farbe drucken kann, ohne mir ANSI-Codes merken zu müssen, sondern indem ich Standard-RGB-Tupel verwende, um die Vorder- und Hintergrundfarben zu definieren.
def print_in_color(txt_msg, fore_tuple, back_tuple, ):
# Prints the text_msg in the foreground color specified by fore_tuple with the background specified by back_tuple
# text_msg is the text, fore_tuple is foreground color tuple (r,g,b), back_tuple is background tuple (r,g,b)
rf,bf,gf = fore_tuple
rb,gb,bb = back_tuple
msg = '{0}' + txt_msg
mat = '\33[38;2;' + str(rf) + ';' + str(gf) + ';' + str(bf) + ';48;2;' + str(rb) + ';' +str(gb) + ';' + str(bb) + 'm'
print(msg .format(mat))
print('\33[0m') # Returns default print color to back to black
# Example of use using a message with variables
fore_color = 'cyan'
back_color = 'dark green'
msg = 'foreground color is {0} and the background color is {1}'.format(fore_color, back_color)
print_in_color(msg, (0,255,255), (0,127,127))
Der einfachste Weg, den ich gefunden habe, ist, keine ANSI-Escape-Codes zu verwenden, sondern die Fore
von import module colorama
. Werfen Sie einen Blick auf den unten stehenden Code:
from colorama import Fore, Style
print(Fore.MAGENTA + "IZZ MAGENTA BRUH.")
print(Style.RESET_ALL + "IZZ BACK TO NORMALZ.")
im Vergleich zum ANSI-Escape-Code:
print("\u001b[31m IZZ RED (NO MAGENTA ON ANSI CODES).\u001b[0m")
print("BACK TO NORMALZ.")
Ich habe ein Modul geschrieben, das Farben in Linux, OS X und Windows behandelt. Es unterstützt alle 16 Farben auf allen Plattformen, man kann Vorder- und Hintergrundfarben zu unterschiedlichen Zeiten setzen, und die String-Objekte liefern vernünftige Ergebnisse für Dinge wie len() und .capitalize().
https://github.com/Robpol86/colorclass
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.
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-ascii-codes-with-python
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
0 Stimmen
Wie wäre es mit stackoverflow.com/a/42528796/610569 mit pypi.python.org/pypi/lazyme ? (Haftungsausschluss: schamlose Werbung)
0 Stimmen
Wenn Sie kein zusätzliches Paket installieren möchten, gehen Sie folgendermaßen vor neue Antwort .