colorama bietet eine einfache Cross-Plattform-API, um farbige Klemme Text aus Python-Anwendungen drucken.
ANSI-Escape-Zeichenfolgen werden häufig verwendet, um farbige Klemme Text auf Macs und Unix zu produzieren. Colorama bietet einige Abkürzungen, diese Sequenzen zu erzeugen, und macht sie unter Windows arbeiten, auch.
Dies hat den glücklichen Nebeneffekt, dass bestehende Applikationen oder Bibliotheken, die bereits ANSI-Sequenzen zu verwenden, um farbige Ausgabe unter Linux oder Macs zu produzieren (zB. Mit Hilfe von Paketen wie "termcolor ') können nun auch unter Windows arbeiten, einfach durch den Import und Initialisierung Colorama.
Status
In Entwicklung. Einige Funktionen, wie unten angegeben, sind noch nicht implementiert.
Verwendung
Initialisierung
Bewerbungen sind zu initialisieren Colorama mit:
vom Colorama import init
drin ()
Wenn Sie unter Windows, dem Aufruf von '' init () "sind" beginnt Filterung ANSI-Escape-Sequenzen aus einem beliebigen Text an stdout oder stderr geschickt, und wird sie zu ersetzen mit gleichwertigen Win32 ruft.
Aufruf '' init () '' hat keinen Einfluss auf anderen Plattformen (sofern Sie "Autoreset" zu verwenden, siehe unten), ist beabsichtigt, dass alle Anwendungen sollte init (Call) bedingungslos, dann funktioniert die farbigen Textausgabe einfach auf allen Plattformen.
Farbige Ausgabe
Plattformübergreifende Drucken von farbigem Text kann dann durchgeführt werden:
vom Colorama import Fore, hinten, Stil
Druck Fore.RED + 'einige rote Text'
Druck Back.GREEN + und mit einem grünen Hintergrund '
Druck Style.DIM + 'und in dim text'
print + Fore.DEFAULT + Back.DEFAULT + Style.DEFAULT
print 'wieder normal jetzt'
oder einfach durch manuellen Druck ANSI-Sequenzen aus eigenen Code:
print '/ 033 [31m' + 'einige rote Text'
print '/ 033 [30m' # und zurücksetzen Farbe
oder Colorama können gerne in Verbindung mit vorhandenen ANSI-Bibliotheken wie Termcolor (http://pypi.python.org/pypi/termcolor) verwendet werden:
# Verwenden Colorama zu Termcolor Arbeit unter Windows zu machen
vom Colorama import init
drin ()
# Dann Termcolor für alle farbigen Textausgabe
von termcolor import gefärbt
drucken farbig ('Hallo Welt!', 'grün', 'on_red')
Verfügbaren Formatierungs Konstanten sind:
Fore: SCHWARZ, ROT, GRÜN, Gelb, Blau, Magenta, Cyan, Weiß, Rückstellung.
Zurück: SCHWARZ, ROT, GRÜN, Gelb, Blau, Magenta, Cyan, Weiß, Rückstellung.
Stil: DIM, Normal, Hell, RESET ALL
Style.RESET_ALL setzt Vordergrund, Hintergrund und Helligkeit. Colorama wird diese Rückstellung automatisch beim Beenden des Programms durchführen (nicht implementiert).
Autoreset
Nicht implementiert
Wenn Sie sich immer wieder das Senden Reset-Sequenzen auszuschalten Farbänderungen am Ende jedes Druck, dann init (Autoreset = True) wird zu automatisieren, dass:
vom Colorama import init
init (Autoreset = True)
Druck Fore.RED + 'einige rote Text'
print 'automatisch wieder auf Standardfarbe wieder "
Ohne Verpackung stdout
Colorama funktioniert durch Umwickeln stdout und stderr mit Proxy-Objekte, dass die Übersteuerungs write (), um ihre Arbeit zu tun. Mit Hilfe init (Autoreset = True) wird diese Verpackung auf allen Plattformen zu tun, nicht nur von Windows.
Wenn diese Proxy-Objekte Einwickeln stdout und stderr führen, dass Sie Probleme, so kann dies mit Hilfe init (wrap = False) (nicht implementiert) gesperrt werden, und Sie können anstatt direkt Colorama ist AnsiToWin32 Proxy. Jedes Attribut Zugriff auf dieses Objekt wird in den Stream es wickelt neben .WRITE (), die unter Windows überschrieben, um die ANSI auf Win32-Umwandlung Text zuerst durchzuführen ist weitergeleitet werden:
vom Colorama import init, AnsiToWin32
init (wrap = False)
stream = AnsiToWin32 (sys.stderr)
>> Druckstrom, Fore.BLUE + 'blauen Text auf stderr'
Entwicklung
Tests erfordern Michael Foord der Mock-Modul. Ich habe mit nosetests zum Ausführen der Tests, obwohl sie ohne sie arbeiten, mit:
python -m colorama.tests
Was ist neu in dieser Pressemitteilung:.
- Hinzugefügt eine Dokumentation für die Cursorpositionierung und klare Bildschirm, um README. Add 'reinit' und 'deinit' Funktionen, wie von Charles FOL und Romanov DA vorgeschlagen.
Was ist neu in Version 0.1.18:
- Fix README (keine solche attr als Fore.DEFAULT , etc), freundlicherweise von nodakai berichtet.
Was ist neu in Version 0.1.17:
- Prevent Druck Müll ANSI Codes bei der Installation mit pip
Was ist neu in Version 0.1.16:
- Re-Upload zur vorherigen Fehler zu beheben. Make clean entfernt nun alt manifestieren.
Was ist neu in Version 0.1.15:
- Fix python3 Inkompatibilität mit freundlicher Unterstützung von Gunter Kolousek
Was ist neu in Version 0.1.14:
- Fix hartcodierte zurückgesetzt weiß-on- schwarzen Farben. Fore.RESET, Back.RESET und Style.RESET_ALL jetzt zurückkehren, um die Farben, wie sie waren, als init () aufgerufen wurde. Einige Lektionen hoffentlich gelernt, über die Prüfung vor der Freigabe.
Was ist neu in Version 0.1.13:
- Vorherige Version wurde komplett unterbrochen (keine Quelle enthalten) . Doppel oops.
Was ist neu in Version 0.1.10:
- Stop emuliert "hell" Text mit hellen Hintergründen. "Normalen" Textanzeige mit win32 normalen Vordergrund statt hell. Drop-Unterstützung für "dim" Text.
Was ist neu in Version 0.1.9:
- Fix Inkompatibilität mit Python 2.5 und früher entfernen Setup. py Abhängigkeit von Setuptools, verwendet nun stdlib distutils
Anforderungen :
- Python
Kommentare nicht gefunden