Mi stavo chiedendo se qualcuno sa come impostare il colore del testo visualizzato nella shell. Ho notato che "ls" utilizza un paio di colori diversi quando si stampano le informazioni sullo schermo (sulla mia macchina Linux), mi chiedevo se potevo approfittarne in Python.Python | cambia il colore del testo nella shell
risposta
Utilizzare maledizioni o sequenze di escape ANSI. Prima di iniziare a sputare sequenze di escape, dovresti controllare che lo stdout sia un tty. Puoi farlo con sys.stdout.isatty()
. Ecco una funzione tirato da un mio progetto che stampa uscita in rosso o verde, a seconda dello stato, utilizzando sequenze di escape ANSI:
def hilite(string, status, bold):
attr = []
if status:
# green
attr.append('32')
else:
# red
attr.append('31')
if bold:
attr.append('1')
return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), string)
Tutti i principali codici dei colori sono espressi per https://www.siafoo.net/snippet/88
Il certificato di sicurezza di questo sito Web è scaduto. Qualcuno può verificare che questo sia un sito web sicuro? – BlackVegetable
@BlackVegetable, sì, sembra lo stesso di prima. Inoltre, puoi visualizzarlo [HTTP] (http://www.siafoo.net/snippet/88) se preferisci. Li contatterò per fargli sapere il certificato. –
anche se ci si fida di esso, @BlackVegetable, si ottiene un errore proxy –
curses
vi permetterà di utilizzare i colori correttamente per il tipo di terminale che viene utilizzato.
uno sguardo al http://www.pixelbeat.org/talks/python/ls.py
Questo è così semplice da fare su un PC: Windows Sistema operativo: Invia il sistema operativo un comando per modificare il testo: import os
os.system('color a') #green text
print 'I like green'
raw_input('do you?')
ho appena descritto biblioteca molto popolare clint. Che ha più funzioni oltre a colorare l'output sul terminale.
Per il modo in cui supporta i terminali MAC, Linux e Windows.
Ecco l'esempio di usarlo:
Installazione (in Ubuntu)
pip install clint
per aggiungere colore al qualche stringa
colored.red('red string')
Esempio: Usando per output a colori (stile comando django)
from django.core.management.base import BaseCommand
from clint.textui import colored
class Command(BaseCommand):
args = ''
help = 'Starting my own django long process. Use ' + colored.red('<Ctrl>+c') + ' to break.'
def handle(self, *args, **options):
self.stdout.write('Starting the process (Use ' + colored.red('<Ctrl>+c') + ' to break)..')
# ... Rest of my command code ...
- 1. NVD3 Cambia il colore del testo dell'etichetta
- 2. Cambia il colore del testo in MoreNavigationController
- 3. Cambia il colore del testo di UISegmentedControl
- 4. Cambia il colore del testo TimePicker
- 5. Cambia il colore del testo in android.R.layout.simple_list_item_2
- 6. Cambia Holo filatore colore del testo
- 7. Cambia il colore del cursore del testo (caret) in Cocoa?
- 8. Interface Builder cambia il bug del colore del testo?
- 9. Cambia il colore di una certa parte del testo VB6?
- 10. Cambia colore del testo senza memoria colore in C64/Assembly
- 11. Cambia colore del testo in base al colore di sfondo
- 12. Come si cambia il colore del testo in un UITextView?
- 13. Cambia il colore del testo della casella di gruppo?
- 14. FPDF: cambia il colore del testo all'interno di una cella?
- 15. Cambia il colore del testo mentre l'utente sta digitando?
- 16. Il colore del testo dell'azione della barra snack non cambia
- 17. Cambia il colore del testo della barra di ricerca ios
- 18. Barra di azione Sherlock cambia il colore del testo
- 19. Rendi il colore del link uguale al colore del testo senza conoscere il colore del testo?
- 20. cambia il colore del testo a seconda dell'immagine/colore di sfondo
- 21. cambia il colore del carattere nella casella di testo con CSS quando il valore è digitato nella casella
- 22. Cambia colore parola nella stringa di risorse
- 23. cambia colore pulsante testo quando premuto
- 24. Cambia il colore del divisore di Spinner
- 25. Cambia colore del testo per i controlli QML
- 26. Android - PreferenceActivity - Cambia colore del testo di riepilogo di CheckBoxPreference
- 27. Android: cambia colore del testo disabilitato usando Tema/Stile?
- 28. eclissi con il tema del colore della luna: cambia il colore del pulsante
- 29. Cambia colore a livello di codice del testo in PDF
- 30. Cambia colore del pulsante di chiusura nella finestra modale bootstrap
+1 in particolare per 'sys.stdout.isatty()' – Nifle
È anche utile avere un override per il caso che l'output non sia un tty, ma vuoi ancora il colore, diciamo che stai solo filtrando le righe con sed o grep –
'unbuffer' può farlo, quindi non sei bloccato se non c'è override. –