Colorama fornisce una semplice API cross-platform per stampare il testo terminale colorato da applicazioni Python.
ANSI sequenze di caratteri escape sono comunemente usati per produrre terminal testo colorato su Mac e Unix. Colorama fornisce alcune scorciatoie per generare queste sequenze, e li fa lavorare anche su Windows.
Questo ha il felice effetto collaterale che le applicazioni esistenti o librerie che già utilizzano sequenze ANSI per produrre output colorato su Linux o Mac (ad es. Utilizzando pacchetti come 'termcolor') possono ora funzionare anche su Windows, semplicemente importando e inizializzazione Colorama.
Stato
In fase di sviluppo. Alcune funzioni, come indicato di seguito, non sono ancora attuate.
Utilizzo
Inizializzazione
Le domande devono inizializzare Colorama utilizzando:
da Colorama importazione init
dentro ()
Se siete su Windows, la chiamata a '' init () '' inizierà filtrare le sequenze di escape ANSI di fuori di ogni testo inviato a stdout o stderr, e sostituirà loro equivalente Win32 chiama.
Chiamata '' init () '' non ha alcun effetto su altre piattaforme (a meno che non si utilizza 'autoreset', vedi sotto) L'intenzione è che tutte le applicazioni devono chiamare init () incondizionatamente, quindi la loro produzione testo colorato funziona semplicemente su tutte le piattaforme.
Uscita colorato
Stampa multipiattaforma di testo colorato può essere fatto:
da Colorama Fore importazione, indietro, Stile
print Fore.RED + 'del testo rosso'
Back.GREEN stampa + e con uno sfondo verde '
print Style.DIM + 'e nel testo dim'
print + Fore.DEFAULT + Back.DEFAULT + Style.DEFAULT
print 'tornato alla normalità la società'
o semplicemente stampando manualmente le sequenze ANSI dal proprio codice:
print '/ 033 [31m' + 'del testo rosso'
print '/ 033 [30m' # e riportate ai valori di colore
o Colorama può essere utilizzato tranquillamente in combinazione con le librerie ANSI esistenti come Termcolor (http://pypi.python.org/pypi/termcolor):
# Utilizzare Colorama per fare Termcolor lavorare anche su Windows
da Colorama importazione init
dentro ()
# Quindi utilizzare Termcolor per tutti gli output testo colorato
da termcolor importazione colorato
stampare colorato ('Ciao, mondo!', 'verde', 'on_red')
Le costanti di formattazione disponibili sono:
Fore: NERO, ROSSO, VERDE, GIALLO, BLU, magenta, ciano, BIANCO, DEFAULT.
Indietro: NERO, ROSSO, VERDE, GIALLO, BLU, magenta, ciano, BIANCO, DEFAULT.
Stile: DIM, NORMALE, BRIGHT, RESET_ALL
Style.RESET_ALL azzera primo piano, sfondo e la luminosità. Colorama eseguirà questa reimpostazione automaticamente all'uscita del programma (non attuato).
Autoreset
Non implementato
Se vi trovate ripetutamente inviare sequenze di ripristino per spegnere cambiamenti di colore alla fine di ogni stampa, allora init (autoreset = True) automatizzerà che:
da Colorama importazione init
init (autoreset = True)
print Fore.RED + 'del testo rosso'
print 'automaticamente al colore predefinito di nuovo'
Senza avvolgendo stdout
Colorama funziona avvolgendo stdout e stderr con oggetti proxy, che scrive di esclusione () per fare il loro lavoro. Utilizzando init (autoreset = True) farà questo avvolgimento su tutte le piattaforme, non solo Windows.
Se questi oggetti proxy avvolgendo stdout e stderr causare problemi, allora questo può essere disabilitato utilizzando init (involucro = False) (Non implementato), e si può invece accedere direttamente AnsiToWin32 proxy Colorama. Ogni accesso attributi su questo oggetto verrà inoltrata al flusso che avvolge, a parte .write (), che su Windows è override per eseguire prima ANSI per Win32 conversione del testo:
da Colorama importazione init, AnsiToWin32
init (involucro = False)
flusso = AnsiToWin32 (sys.stderr)
stampa >> flusso, 'testo blu su stderr' Fore.BLUE +
sviluppo
I test richiedono modulo Mock di Michael Foord. Sono stato con nosetests per eseguire i test anche se può funzionare senza di essa, utilizzando:
colorama.tests python -m
Cosa c'è di nuovo in questa versione:.
- Aggiunto della documentazione per il posizionamento del cursore e lo schermo chiaro readme. Aggiungi 'reinit' e funzioni 'deinit', come suggerito da Charles FOL e Romanov DA.
Cosa c'è di nuovo nella versione 0.1.18:
- Fix README (tale attr come Fore.DEFAULT , ecc), gentilmente segnalato da nodakai.
Cosa c'è di nuovo nella versione 0.1.17:
- stampa Evitare di codici rifiuti ANSI su installazione con pip
Cosa c'è di nuovo nella versione 0.1.16:
- Re-upload per la correzione di errore precedente. Fai pulito ora rimuove vecchio MANIFESTO.
Cosa c'è di nuovo nella versione 0.1.15:
- Fix python3 incompatibilità gentilmente segnalato da Gunter Kolousek
Cosa c'è di nuovo nella versione 0.1.14:
- Fix hard reset-coded al bianco-on- colori neri. Fore.RESET, Back.RESET e Style.RESET_ALL ora ritornano ai colori come erano quando init () è stato chiamato. Alcune lezioni si spera imparato a conoscere il test prima del rilascio.
Cosa c'è di nuovo nella versione 0.1.13:
- Versione precedente era completamente rotto (contenuta nessuna fonte) . Doppio oops.
Cosa c'è di nuovo nella versione 0.1.10:
- Arresto emulando testo 'luminoso' con sfondi luminosi. Testo schermo 'normale' con win32 normale primo piano invece di brillante. Drop supporto per il testo 'dim'.
Cosa c'è di nuovo nella versione 0.1.9:
- Fissare incompatibilità con Python 2.5 e precedenti Rimuovere setup. py dipendenza setuptools, ora usa distutils stdlib
Requisiti
- Python
I commenti non trovato