logo

Stampa i colori nel terminale Python

In questo articolo tratteremo come stampare testo colorato in Python utilizzando diversi m metodi per inviare testo colorato al terminale in Pitone.

I modi più comuni per farlo sono utilizzando:

    Utilizzo del modulo colorama Utilizzo del modulo termcolor Utilizzo del codice ANSI in Python

Metodo 1: stampare testo a colori utilizzando il modulo colorama

Modulo Colorama è un La stampa multipiattaforma di testo colorato può quindi essere eseguita utilizzando la scorciatoia costante di Colorama per le sequenze di escape ANSI:



Esempio 1: Programma Python per stampare testo rosso su sfondo verde.

Python3




from> colorama>import> Fore, Back, Style> print>(Fore.RED>+> 'some red text'>)> print>(Back.GREEN>+> 'and with a green background'>)> print>(Style.DIM>+> 'and in dim text'>)> print>(Style.RESET_ALL)> print>(>'back to normal now'>)>

>

>

Produzione:

Esempio 2: Programma Python per stampare testo verde su sfondo rosso.

Python3




from> colorama>import> init> from> termcolor>import> colored> init()> print>(colored(>'Hello, World!'>,>'green'>,>'on_red'>))>

>

>

Produzione:

Metodo 2: stampare testo a colori utilizzando il modulo termcolor

modulo termcolor è un modulo Python per la formattazione dei colori ANSII per l'output nel terminale.

Esempio: Programma Python per stampare testo e sfondo colorati.

Python3




costruttore in Java

import> sys> from> termcolor>import> colored, cprint> text>=> colored(>'Hello, World!'>,>'red'>, attrs>=>[>'reverse'>,>'blink'>])> print>(text)> cprint(>'Hello, World!'>,>'green'>,>'on_red'>)> def> print_red_on_cyan(x):>return> cprint(x,>'red'>,>'on_cyan'>)> print_red_on_cyan(>'Hello, World!'>)> print_red_on_cyan(>'Hello, Universe!'>)> for> i>in> range>(>10>):> >cprint(i,>'magenta'>, end>=>' '>)> cprint(>'Attention!'>,>'red'>, attrs>=>[>'bold'>],>file>=>sys.stderr)>

>

>

Produzione:

Metodo 3: stampa testo a colori utilizzando il codice ANSI in Python

Il modo più comune per stampare testo colorato è tramite stampa Sequenze di escape ANSI direttamente. Questo può essere consegnato in diversi formati come:

Esempio 1: creare funzioni da chiamare

Possiamo creare funzioni per chiamare particolari funzioni con nomi di colore per eseguire la sequenza di escape ANSI pertinente. Di seguito è riportato il programma Python per stampare testo e sfondo colorati

Python3




def> prRed(skk):>print>(>' 33[91m {} 33[00m'> .>format>(skk))> def> prGreen(skk):>print>(>' 33[92m {} 33[00m'> .>format>(skk))> def> prYellow(skk):>print>(>' 33[93m {} 33[00m'> .>format>(skk))> def> prLightPurple(skk):>print>(>' 33[94m {} 33[00m'> .>format>(skk))> def> prPurple(skk):>print>(>' 33[95m {} 33[00m'> .>format>(skk))> def> prCyan(skk):>print>(>' 33[96m {} 33[00m'> .>format>(skk))> def> prLightGray(skk):>print>(>' 33[97m {} 33[00m'> .>format>(skk))> def> prBlack(skk):>print>(>' 33[98m {} 33[00m'> .>format>(skk))> prCyan(>'Hello World, '>)> prYellow(>'It's'>)> prGreen(>'Geeks'>)> prRed(>'For'>)> prGreen(>'Geeks'>)>

>

>

Produzione:


Esempio 2: crea una classe di colori

Crea una classe per assegnare i colori di sfondo e di primo piano e chiamali. Di seguito è riportato il programma Python per stampare testo e sfondo colorati.

Python3




class> colors:> '''Colors class:reset all colors with colors.reset; two> sub classes fg for foreground> and bg for background; use as colors.subclass.colorname.> i.e. colors.fg.red or colors.bg.greenalso, the generic bold, disable,> underline, reverse, strike through,> and invisible work with the main class i.e. colors.bold'''> reset>=> ' 33[0m'> bold>=> ' 33[01m'> disable>=> ' 33[02m'> underline>=> ' 33[04m'> reverse>=> ' 33[07m'> >strikethrough>=> ' 33[09m'> >invisible>=> ' 33[08m'> >class> fg:> >black>=> ' 33[30m'> >red>=> ' 33[31m'> >green>=> ' 33[32m'> >orange>=> ' 33[33m'> >blue>=> ' 33[34m'> >purple>=> ' 33[35m'> >cyan>=> ' 33[36m'> >lightgrey>=> ' 33[37m'> >darkgrey>=> ' 33[90m'> >lightred>=> ' 33[91m'> >lightgreen>=> ' 33[92m'> >yellow>=> ' 33[93m'> >lightblue>=> ' 33[94m'> >pink>=> ' 33[95m'> >lightcyan>=> ' 33[96m'> >class> bg:> >black>=> ' 33[40m'> >red>=> ' 33[41m'> >green>=> ' 33[42m'> >orange>=> ' 33[43m'> >blue>=> ' 33[44m'> >purple>=> ' 33[45m'> >cyan>=> ' 33[46m'> >lightgrey>=> ' 33[47m'> print>(colors.bg.green,>'SKk'>, colors.fg.red,>'Amartya'>)> print>(colors.bg.lightgrey,>'SKk'>, colors.fg.red,>'Amartya'>)>

>

>

Produzione:

Esempio 3: funzioni iterative

Siamo in grado di progettare sequenze e funzioni di fuga ANSI iteranti e autogeneranti. Di seguito è riportato il programma Python per stampare testo e sfondo colorati

Python3




def> print_format_table():> >'''> >prints table of formatted text format options> >'''> >for> style>in> range>(>8>):> >for> fg>in> range>(>30>,>38>):> >s1>=> ''> >for> bg>in> range>(>40>,>48>):> >format> => ';'>.join([>str>(style),>str>(fg),>str>(bg)])> >s1>+>=> 'x1b[%sm %s x1b[0m'> %> (>format>,>format>)> >print>(s1)> >print>(>' '>)> print_format_table()>

>

>

Produzione: