HOWTO · Python

Come stampare testo in grassetto in Python

Scopri come stampare testo in grassetto in un terminale Python con sequenze ANSI o librerie di formattazione.

In questa pagina

Per stampare testo in grassetto in un terminale Python, puoi racchiuderlo tra sequenze di escape ANSI oppure usare una libreria come termcolor, colorama, simple_colors o click. Questi metodi formattano l’output del terminale; per il testo in grassetto in un documento o in una pagina web, usa Markdown o HTML. L’aspetto degli esempi nel terminale dipende dal supporto ANSI.

La formattazione del testo è uno degli argomenti del gruppo Stringhe e testo del nostro tutorial Python, che raccoglie le guide essenziali per lavorare con le stringhe.

Usare il metodo delle sequenze di escape ANSI per stampare testo in grassetto in Python

Le sequenze di escape ANSI modificano la formattazione del testo nei terminali compatibili senza richiedere dipendenze Python. La sequenza \033[1m attiva il grassetto, mentre \033[0m ripristina lo stile normale. Una classe riutilizzabile raccoglie entrambe le sequenze:

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Aggiungi la sequenza di ripristino dopo il testo formattato, così lo stile non viene mantenuto nell’output successivo. Le sequenze di escape vengono interpretate solo dai terminali che supportano la formattazione ANSI.

Usare una classe per stampare testo in grassetto in Python

La classe BoldText definita sopra espone le costanti BOLD e RESET, che puoi riutilizzare in altre chiamate a print. Inserisci la sequenza di ripristino alla fine di ogni segmento formattato. La classe invia soltanto sequenze di controllo ANSI: non rileva se la destinazione è in grado di visualizzarle.

Usare il modulo termcolor per stampare testo in grassetto in Python

termcolor è un pacchetto per formattare il testo nel terminale e colored() è la funzione che applica la formattazione. Installalo con python -m pip install termcolor, quindi chiama colored("Python", "green", attrs=["bold"]) e stampa la stringa restituita. Il pacchetto non è disponibile nell’ambiente Python di questo workflow, quindi la chiamata è mostrata nel testo e non come esempio eseguibile.

Per ottenere lo stesso effetto nel terminale con l’ambiente fornito, puoi usare questa alternativa autonoma basata su ANSI. Non usa termcolor: la chiamata specifica al pacchetto riportata sopra è illustrativa e richiede di installarlo nel tuo ambiente.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Usare il pacchetto colorama per stampare testo in grassetto in Python

colorama aiuta le applicazioni a usare la formattazione ANSI in diversi terminali, anche migliorando la gestione ANSI su Windows. Installalo con python -m pip install colorama, chiama init() e poi stampa f"{Style.BRIGHT}Bold Text{Style.RESET_ALL}", dopo aver importato Style e init da colorama. Style.BRIGHT applica l’enfasi e Style.RESET_ALL ripristina lo stile predefinito. Questo pacchetto non è disponibile nell’ambiente Python configurato, quindi il suo uso è descritto nel testo e non costituisce un esempio eseguibile. L’inizializzazione non garantisce che ogni console o destinazione di output mostri il testo in grassetto.

L’alternativa pronta per l’ambiente di esecuzione seguente invia direttamente la formattazione ANSI equivalente. Non usa colorama; per provare la gestione delle piattaforme offerta dal pacchetto, installalo e usa le chiamate descritte sopra.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Usare il pacchetto simple-color per stampare testo in grassetto in Python

La distribuzione si installa come simple-colors e si importa come simple_colors. Installala con python -m pip install simple-colors, quindi usa green("Python", "bold") da simple_colors. Il pacchetto non è incluso nell’ambiente Python di questo workflow, quindi la chiamata è riportata nel testo e qui non è stata eseguita. Anche in questo caso, la formattazione dipende dal supporto del terminale.

Ecco un’alternativa eseguibile con la libreria standard per ottenere lo stesso testo in grassetto nel terminale. La chiamata a simple_colors riportata sopra è illustrativa; per eseguirla, installa simple-colors.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Usare la libreria click per stampare testo in grassetto in Python

Se un’applicazione da riga di comando usa già click, installalo con python -m pip install click. click.echo(click.style("Bold Text", bold=True)) formatta una stringa e la scrive nel terminale. L’ambiente Python configurato non include click, quindi questo uso è descritto nel testo e non presentato come esempio eseguibile. Come per le altre librerie, la visibilità dello stile dipende dall’ambiente di output.

Questa alternativa autonoma usa direttamente ANSI e può quindi essere eseguita senza click. Le chiamate click.style() e click.echo() sopra sono illustrative e diventano utilizzabili dopo aver installato click.

class BoldText:
    BOLD = "\033[1m"
    RESET = "\033[0m"


print(f"{BoldText.BOLD}Python Programming!{BoldText.RESET}")
Python Programming!

Conclusione

Per una soluzione senza dipendenze, usa direttamente le sequenze ANSI; se vuoi riutilizzarle, raccoglile in una piccola classe con costanti dedicate. Le librerie termcolor, colorama, simple_colors e click offrono funzioni di livello più alto. Nei terminali che non interpretano le sequenze ANSI, la formattazione può apparire come testo semplice: scegli quindi il metodo in base all’ambiente di destinazione.