Come colorare il testo sul terminale degli script Python

di Lorenzo Neri
13 visualizzazioni

Ti stai chiedendo come colorare il testo sul terminale quando lanci degli script Python? In questo articolo ti spiego come fare!

Al mondo esistono diversi terminali che colorano il testo in base a parole chiave, variabili, eccetera, come magari zsh: non parlo di questo, ma di far sì che sia il codice che scrivi in Python a colorarlo.

Se ti stai chiedendo come fare a colorare il testo sulle finestre terminale ecco… Lo scopriamo nelle prossime righe.

Colorare il testo sul terminale? Grazie ad ANSI escape codes

ANSI escape codes. Si tratta di un formato che permette di colorare il testo sulla CLI.

Usando quanto meno tecnichese possibile, ANSI escape codes ci permette di fare tante cose fra cui appunto impostare il colore del testo sul terminale.

Non sto a farla troppo lunga, ma puoi utilizzare fino a 256 colori.

Il formato dei colori stessi, ha un prefisso in comune a tutti:

\u001b

Si tratta di un carattere speciale che ci permette di usare la sintassi di questo sistema.

Ti vorrei lasciare anche un paio di esempi per avere un confronto:

verde = '\u001b[92m'
rosso = '\u001b[31m'
sottolineato='\u001b[4m'

… Ci hai fatto caso che l’ultimo non è propriamente il nome da dare ad un colore?

Perchè questo sistema ci permette anche di decorare il testo: mi sembrava giusto dirlo per completezza 😉

Usare tutto questo colore con degli script Python

Chiarito l’essenziale e il necessario, vediamo come integrare tutto questo a Python.

La funzione che usiamo è… Sì, lei: print.

Per colorare il testo sul terminale, ti è sufficiente aggiungerli come “prefisso” alla stringa che vuoi stampare a video.

Per intenderci, se volessi stampare un “ciao!” verde:

print("\u001b[92mciao!")

Senza spazi: la codifica e l’esecuzione lato Python si occuperà di far diventare quel “ciao!” di un bel colore verde sul tuo terminale.

Ma nulla ti vieta di strutturare il colore per il terminale all’interno degli script Python stessi, ad esempio:

verde = '\u001b[92m'
rosso = '\u001b[31m'
sottolineato='\u001b[4m'

print(verde+"sono verde")
print(rosso+"io sono rosso!")
print(sottolineato+"sono sottolineato!")

E se volessi scoprire qualcosa di inaspettato sui comandi a terminale, dai un occhio qui!

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più