HOWTO · Python

Comment afficher du texte en gras dans Python

Découvrez comment afficher du texte en gras dans un terminal avec Python, à l'aide de séquences ANSI ou de bibliothèques de mise en forme.

Sur cette page

Pour afficher du texte en gras dans un terminal avec Python, encadrez-le de séquences d’échappement ANSI ou utilisez une bibliothèque comme termcolor, colorama, simple_colors ou click. Ces solutions mettent en forme la sortie du terminal ; pour mettre du texte en gras dans un document ou une page Web, utilisez plutôt Markdown ou HTML. Le rendu des exemples ci-dessous dépend de la prise en charge d’ANSI par le terminal.

Utiliser les séquences d’échappement ANSI pour afficher du texte en gras dans Python

Les séquences d’échappement ANSI permettent de modifier la mise en forme du texte dans un terminal compatible, sans dépendance Python. La séquence \033[1m active le gras et \033[0m rétablit le style normal. Une classe permet de regrouper ces séquences pour les réutiliser :

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


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

Réinitialisez le style après le texte mis en forme afin que le terminal ne conserve pas le gras pour les sorties suivantes. Les séquences d’échappement ne sont interprétées que par les terminaux qui prennent en charge le style ANSI.

Utiliser une classe pour afficher du texte en gras dans Python

La classe BoldText ci-dessus expose les constantes BOLD et RESET, que vous pouvez réutiliser dans d’autres appels à print(). Placez la séquence de réinitialisation à la fin de chaque portion mise en forme. Cette classe envoie uniquement des séquences de contrôle ANSI : elle ne vérifie pas si la destination sait les afficher.

Utiliser le module termcolor pour afficher du texte en gras dans Python

termcolor est un package qui met en forme le texte destiné au terminal, et colored() est sa fonction de formatage. Installez-le avec python -m pip install termcolor, puis appelez colored("Python", "green", attrs=["bold"]) et affichez la chaîne renvoyée. Ce package n’est pas disponible dans l’environnement Python de ce workflow ; l’appel est donc présenté directement dans le texte et n’est pas un exemple exécutable ici.

Pour obtenir le même effet dans l’environnement fourni, utilisez cette solution autonome fondée sur ANSI. Elle n’appelle pas termcolor : l’appel propre au package ci-dessus est donné à titre d’illustration et nécessite l’installation du package dans votre environnement.

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


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

Utiliser le package colorama pour afficher du texte en gras dans Python

colorama aide les applications à utiliser le style ANSI dans différents terminaux, notamment en améliorant la prise en charge d’ANSI sous Windows. Installez-le avec python -m pip install colorama, appelez init(), puis affichez f"{Style.BRIGHT}Bold Text{Style.RESET_ALL}" après avoir importé Style et init depuis colorama. Style.BRIGHT applique un effet de mise en évidence et Style.RESET_ALL rétablit le style par défaut. Ce package n’est pas disponible dans l’environnement Python configuré : son utilisation est décrite ici, mais ne constitue pas un exemple exécutable. L’initialisation ne garantit pas que chaque console ou destination de sortie affichera le texte en gras.

L’alternative prête à l’emploi ci-dessous envoie directement les séquences ANSI équivalentes. Elle ne met pas colorama à l’épreuve ; pour tester la gestion propre au package selon la plateforme, installez-le et utilisez les appels précédents.

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


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

Utiliser le package simple-color pour afficher du texte en gras dans Python

La distribution s’installe sous le nom simple-colors et s’importe sous le nom simple_colors. Installez-la avec python -m pip install simple-colors, puis utilisez green("Python", "bold") depuis simple_colors. Ce package n’est pas présent dans l’environnement Python de ce workflow ; l’appel est donc fourni dans le texte et n’a pas été exécuté ici. Le rendu dépend également de la prise en charge du style par le terminal.

Voici une solution exécutable, fondée sur la bibliothèque standard, pour obtenir le même texte en gras dans le terminal. L’appel à simple_colors ci-dessus est donné à titre d’exemple et nécessite l’installation de simple-colors.

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


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

Utiliser la bibliothèque click pour afficher du texte en gras dans Python

Si votre application en ligne de commande utilise déjà click, installez-la avec python -m pip install click. click.echo(click.style("Bold Text", bold=True)) met en forme une chaîne et l’écrit dans le terminal. L’environnement Python configuré ne contient pas click ; cet usage est donc présenté dans le texte et n’est pas un exemple exécutable ici. Comme pour les autres bibliothèques, la visibilité du style dépend de l’environnement de sortie.

L’alternative autonome suivante utilise directement ANSI et peut donc être exécutée sans click. Les appels à click.style() et click.echo() ci-dessus sont illustratifs ; ils deviennent utilisables après l’installation de click.

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


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

Conclusion

Utilisez directement les séquences ANSI pour éviter toute dépendance, ou regroupez-les dans une petite classe si vous souhaitez réutiliser les constantes de mise en forme. Les bibliothèques termcolor, colorama, simple_colors et click offrent des fonctions de plus haut niveau. Dans un terminal qui ne les interprète pas, les séquences ANSI peuvent s’afficher comme du texte ordinaire ; choisissez donc la méthode en fonction de l’environnement cible.