Blog • code, python

Comment changer la couleur du texte en Python ?

Comment modifier la couleur du texte et du fond de texte en Python ? Il existe de nombreux modules pour changer la couleur du texte en Python.

Publie le 28 décembre 2022 • 15 min read
Cours recommandé

Python débutant

Bases du langageExercices corrigésQuatre projets progressifs

Apprenez Python à partir de zéro : variables, conditions, boucles, fonctions et structures de données. Chaque notion est suivie d'exercices corrigés automatiquement, et chaque chapitre se termine par un quiz.

Découvrir le cours

Comment afficher du texte en couleur en Python ?

Il existe de nombreux modules pour changer la couleur du texte (et du fond du texte) en Python. La plupart se base sur les codes de séquences d'échappement ANSI mais d'autres utilisent directement les couleurs du terminal.

Pour afficher du texte en couleur en Python, on utilise les codes ANSI :

print("\033[1;34mEssayez de changer 34 pour une autre valeur allant de 30 à 37.")

💡 Vous voulez en apprendre plus sur la fonction print en Python ? Alors mon article complet sur la fonction print vous intéressera sûrement !

Dans cet article, vous apprendrez ce qu'est ANSI, comment l'utiliser dans vos scripts en Python mais aussi quelles sont les alternatives pour afficher du texte en couleur facilement.

Commençons sans plus tarder avec l'explication de ANSI.

Utiliser les codes ANSI pour avoir du texte coloré en Python

Les codes ANSI ou Séquence d'échappement ANSI permettent de contrôler l'affichage de texte terminal.

Ces codes d'échappement permettent de faire énormement de chose allant de modifier la position du curseur à régler l'intensité de la couleur ou bien souligner, mettre son texte en italique et bien plus.

Dans cet article on se limite à voir comment on peut changer la couleur d'un texte en Python avec.

Voici une liste de tous les codes de couleurs ANSI avec leurs valeurs hexadécimales correspondantes :

Code ANSICouleurCode hexadécimal
30Noir<div style="background:#000000;font-weight:bold;color:white;">#000000</div>
31Rouge<div style="background:#FF0000;font-weight:bold;color:white;">#FF0000</div>
32Vert<div style="background:#00FF00;font-weight:bold;color:white;">#00FF00</div>
33Jaune<div style="background:#FFFF00;font-weight:bold;color:white;">#FFFF00</div>
34Bleu<div style="background:#0000FF;font-weight:bold;color:white;">#0000FF</div>
35Rose<div style="background:#FF00FF;font-weight:bold;color:white;">#FF00FF</div>
36Cyan<div style="background:#00FFFF;font-weight:bold;color:white;">#00FFFF</div>
37Blanc<div style="background:#FFFFFF;font-weight:bold;color:black;">#FFFFFF</div>

En Python, on peut utiliser les codes d'échappement ANSI pour changer la couleur du texte dans un terminal ou dans un fichier de configuration. On utilise le code \033[0;CODE_COULEUR_ANSIm avant le texte et \033[0m à la fin pour remettre la coueur par défaut.

À noter qu'il existe aussi des couleurs "light" qui sont plus lumineuses. On peut les obtenir en ajoutant ;1 après notre code couleur ANSI normal. Donc \033[0;31m devient \033[0;31m;1 pour être rouge flash.

Les couleurs plus claires ou pastelles possède également leur propre code, c'est le même que les codes ANSI des couleurs "normales" mais on ajoute + 60.

Code ANSICouleurCode hexadécimal
90Noir clair<div style="background:#808080;font-weight:bold;color:white;">#808080</div>
91Rouge clair<div style="background:#FF8080;font-weight:bold;color:white;">#FF8080</div>
92Vert clair<div style="background:#80FF80;font-weight:bold;color:white;">#80FF80</div>
93Jaune clair<div style="background:#FFFF80;font-weight:bold;color:white;">#FFFF80</div>
94Bleu clair<div style="background:#8080FF;font-weight:bold;color:white;">#8080FF</div>
95Rose clair<div style="background:#FF80FF;font-weight:bold;color:white;">#FF80FF</div>
96Cyan clair<div style="background:#80FFFF;font-weight:bold;color:white;">#80FFFF</div>
97Blanc clair<div style="background:#FFFFFF;font-weight:bold;color:black;">#FFFFFF</div>

Avec ANSI on peut aussi changer la couleur du fond.

Code ANSICouleurCode hexadécimal
40Noir<div style="background:#000000;font-weight:bold;color:white;">#000000</div>
41Rouge<div style="background:#FF0000;font-weight:bold;color:white;">#FF0000</div>
42Vert<div style="background:#00FF00;font-weight:bold;color:white;">#00FF00</div>
43Jaune<div style="background:#FFFF00;font-weight:bold;color:white;">#FFFF00</div>
44Bleu<div style="background:#0000FF;font-weight:bold;color:white;">#0000FF</div>
45Rose<div style="background:#FF00FF;font-weight:bold;color:white;">#FF00FF</div>
46Cyan<div style="background:#00FFFF;font-weight:bold;color:white;">#00FFFF</div>
47Blanc<div style="background:#FFFFFF;font-weight:bold;color:black;">#FFFFFF</div>

Ainsi, pour avoir du texte bleu sur un fond rouge (on vous juge pas pour vos goûts en matière de couleurs, promis 😛), on utilise :

print("\033[1;34;41mTexte BLEU sur fond ROUGE")

Le module colorma pour afficher du texte en couleur en Python

Pour utiliser les codes ANSI et changer la couleur de fond du texte dans un script Python, on peut utiliser le package colorama.

  1. Installer le module colorama avec pip :

pip install colorama

  1. Importer la bibliothèque dans votre script Python :

import colorama

  1. Utilisez les macros de colorama qui représentent les codes ANSI pour changer la couleur du texte. Par exemple, pour afficher du texte rouge avec un fond vert, on peut utiliser le code suivant :
print(colorama.Fore.RED + colorama.Back.GREEN + "Texte en rouge avec fond vert" + colorama.Style.RESET_ALL)

Pour changer la couleur du texte, on utilise Fore.COULEUR_DU_TEXTE, pour le fond du texte (background), on utilise Back.COULEUR_DE_FOND.

Voici les différentes couleurs qu'on peut utiliser, tant avec Fore qu'avec Back :

BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, LIGHTBLACK_EX, LIGHTRED_EX, LIGHTGREEN_EX, LIGHTYELLOW_EX, LIGHTBLUE_EX, LIGHTMAGENTA_EX, LIGHTCYAN_EX, LIGHTWHITE_EX, RESET

On peut utiliser les couleurs de base et changer l'intensité de la couleur avec l'option Style, voici les options disponibles :

Style: DIM, NORMAL, BRIGHT, RESET_ALL

N'oubliez pas d'utiliser RESET sur la couleur ou RESET_ALL sur le style pour revenir aux couleurs par défaut.

Vous pouvez aller bien plus loin avec colorama, comme on l'a vu, les codes ANSI permettent bien que modifier la couleur d'un texte.

Pour plus d'informations sur colorama, voici le lien vers la documentation sur Github.

Le module termcolor pour afficher du texte en couleur en Python

termcolor est un package Python qui permet de modifier la couleur et le style du texte dans le terminal.

Voici comment l'obtenir :

  1. Installer le module termcolor avec pip :

pip install termcolor

  1. Importer la termcolor dans votre script Python :

import termcolor

  1. Utilisez les fonctions et codes de termcolor pour changer la couleur du texte.
from termcolor import colored, cprint

# Afficher du texte en rouge avec la fonction colored
print(termcolor.colored("Texte en rouge en Python", "red"))

# Afficher du texte en bleu sur fond vert
termcolor.cprint("Texte bleu sur fond vert", "blue", "on_green")

Voici un tableau récapitulatif des différente options sur termcolor pour modifier la couleur du texte, la couleur du fond du texte (background) ou bien le style du texte.

Couleur du texteCouleur de fondStyle
greyon_greybold
redon_reddark
greenon_greenunderline
yellowon_yellowblink
blueon_bluereverse
magentaon_magentaconcealed
cyanon_cyan
whiteon_white

Vous trouverez plus d'options et d'informations sur la page github du projet termcolor

Le module colored pour afficher du texte en couleur en Python

colored est un package Python qui utilise les codes couleurs HEX des terminaux.

Il est différents des options qu'on a vues jusqu'à présent dans cet article car il n'utilise pas ANSI proposés de base mais bien des codes couleurs directement.

  1. Installer le module colored avec pip :

pip install colored

  1. Importer la biliothèque colored
import colored
  1. Afficher du texte en changeant la couleur, ici, rouge
print(f'{colored.fg(1)} Mon texte en rouge')

Voici une liste des différentes couleurs disponibles avec colored, comme vous pouvez le voir, on a accès à bien plus d'options 😅

CodeDescription
0black
1red
2green
3yellow
4blue
5magenta
6cyan
7light_gray
8dark_gray
9light_red
10light_green
11light_yellow
12light_blue
13light_magenta
14light_cyan
15white
16grey_0
17navy_blue
18dark_blue
19blue_3a
20blue_3b
21blue_1
22dark_green
23deep_sky_blue_4a
24deep_sky_blue_4b
25deep_sky_blue_4c
26dodger_blue_3
27dodger_blue_2
28green_4
29spring_green_4
30turquoise_4
31deep_sky_blue_3a
32deep_sky_blue_3b
33dodger_blue_1
34green_3a
35spring_green_3a
36dark_cyan
37light_sea_green
38deep_sky_blue_2
39deep_sky_blue_1
40green_3b
41spring_green_3b
42spring_green_2a
43cyan_3
44dark_turquoise
45turquoise_2
46green_1
47spring_green_2b
48spring_green_1
49medium_spring_green
50cyan_2
51cyan_1
52dark_red_1
53deep_pink_4a
54purple_4a
55purple_4b
56purple_3
57blue_violet
58orange_4a
59grey_37
60medium_purple_4
61slate_blue_3a
62slate_blue_3b
63royal_blue_1
64chartreuse_4
65dark_sea_green_4a
66pale_turquoise_4
67steel_blue
68steel_blue_3
69cornflower_blue
70chartreuse_3a
71dark_sea_green_4b
72cadet_blue_2
73cadet_blue_1
74sky_blue_3
75steel_blue_1a
76chartreuse_3b
77pale_green_3a
78sea_green_3
79aquamarine_3
80medium_turquoise
81steel_blue_1b
82chartreuse_2a
83sea_green_2
84sea_green_1a
85sea_green_1b
86aquamarine_1a
87dark_slate_gray_2
88dark_red_2
89deep_pink_4b
90dark_magenta_1
91dark_magenta_2
92dark_violet_1a
93purple_1a
94orange_4b
95light_pink_4
96plum_4
97medium_purple_3a
98medium_purple_3b
99slate_blue_1
100yellow_4a
101wheat_4
102grey_53
103light_slate_grey
104medium_purple
105light_slate_blue
106yellow_4b
107dark_olive_green_3a
108dark_green_sea
109light_sky_blue_3a
110light_sky_blue_3b
111sky_blue_2
112chartreuse_2b
113dark_olive_green_3b
114pale_green_3b
115dark_sea_green_3a
116dark_slate_gray_3
117sky_blue_1
118chartreuse_1
119light_green_2
120light_green_3
121pale_green_1a
122aquamarine_1b
123dark_slate_gray_1
124red_3a
125deep_pink_4c
126medium_violet_red
127magenta_3a
128dark_violet_1b
129purple_1b
130dark_orange_3a
131indian_red_1a
132hot_pink_3a
133medium_orchid_3
134medium_orchid
135medium_purple_2a
136dark_goldenrod
137light_salmon_3a
138rosy_brown
139grey_63
140medium_purple_2b
141medium_purple_1
142gold_3a
143dark_khaki
144navajo_white_3
145grey_69
146light_steel_blue_3
147light_steel_blue
148yellow_3a
149dark_olive_green_3
150dark_sea_green_3b
151dark_sea_green_2
152light_cyan_3
153light_sky_blue_1
154green_yellow
155dark_olive_green_2
156pale_green_1b
157dark_sea_green_5b
158dark_sea_green_5a
159pale_turquoise_1
160red_3b
161deep_pink_3a
162deep_pink_3b
163magenta_3b
164magenta_3c
165magenta_2a
166dark_orange_3b
167indian_red_1b
168hot_pink_3b
169hot_pink_2
170orchid
171medium_orchid_1a
172orange_3
173light_salmon_3b
174light_pink_3
175pink_3
176plum_3
177violet
178gold_3b
179light_goldenrod_3
180tan
181misty_rose_3
182thistle_3
183plum_2
184yellow_3b
185khaki_3
186light_goldenrod_2a
187light_yellow_3
188grey_84
189light_steel_blue_1
190yellow_2
191dark_olive_green_1a
192dark_olive_green_1b
193dark_sea_green_1
194honeydew_2
195light_cyan_1
196red_1
197deep_pink_2
198deep_pink_1a
199deep_pink_1b
200magenta_2b
201magenta_1
202orange_red_1
203indian_red_1c
204indian_red_1d
205hot_pink_1a
206hot_pink_1b
207medium_orchid_1b
208dark_orange
209salmon_1
210light_coral
211pale_violet_red_1
212orchid_2
213orchid_1
214orange_1
215sandy_brown
216light_salmon_1
217light_pink_1
218pink_1
219plum_1
220gold_1
221light_goldenrod_2b
222light_goldenrod_2c
223navajo_white_1
224misty_rose1
225thistle_1
226yellow_1
227light_goldenrod_1
228khaki_1
229wheat_1
230cornsilk_1
231grey_100
232grey_3
233grey_7
234grey_11
235grey_15
236grey_19
237grey_23
238grey_27
239grey_30
240grey_35
241grey_39
242grey_42
243grey_46
244grey_50
245grey_54
246grey_58
247grey_62
248grey_66
249grey_70
250grey_74
251grey_78
252grey_82
253grey_85
254grey_89
255grey_93
256default

Vous pouvez en apprendre plus sur la page pip du projet colored directement.

Comment afficher du texte en noir en Python ?

Avec ANSI

print("\033[0;30m Mon texte en noir")

Avec colorama

print(Fore.BLACK + "Mon texte en noir")

Avec termcolor

cprint("Texte en noir", "black")

Avec colored

print(f'{colored.fg(0)} Mon texte en noir')

Comment afficher du texte en rouge en Python ?

Avec ANSI

 print("\033[0;33m Mon texte en rouge")

Avec colorama

print(colorama.Fore.RED + "Mon texte en rouge")

Avec termcolor

cprint("Texte en rouge", "red")

Avec colored

print(f'{colored.fg(1)} Mon texte en rouge')

Comment afficher du texte en vert en Python ?

Avec ANSI

print("\033[0;32m Mon texte en vert")

Avec colorama

print(colorama.Fore.GREEN + "Mon texte en vert")

Avec termcolor

cprint("Texte en vert", "green")

Avec colored

print(f'{colored.fg(2)} Mon texte en vert')

Comment afficher du texte en bleu en Python ?

Avec ANSI

print("\033[0;34m Mon texte en bleu")

Avec colorama

print(colorama.Fore.BLUE + "Mon texte en bleu")

Avec termcolor

cprint("Texte en bleu", "blue")

Avec colored

print(f'{colored.fg(4))} Mon texte en bleu')

Comment afficher du texte en rose en Python ?

Avec ANSI

print("\033[0;35m Mon texte en rose")

Avec colorama

print(colorama.Fore.MAGENTA + "Mon texte en rose")

Avec termcolor

cprint("Texte en rose/magenta", "magenta")

Avec colored

print(f'{colored.fg(5)} Mon texte en rose')

Comment afficher du texte en cyan en Python ?

Avec ANSI

print("\033[0;36m Mon texte en cyan")

Avec colorama

print(colorama.Fore.CYAN + "Mon texte en cyan")

Avec termcolor

cprint("Texte en cyan", "cyan")

Avec colored

print(f'{colored.fg(6)} Mon texte en cyan')

Comment afficher du texte en jaune en Python ?

Avec ANSI

print("\033[1;33m Mon texte en jaune")

Avec colorama

print(colorama.Fore.YELLOW + "Mon texte en jaune")

Avec termcolor

cprint("Texte en jaune", "yellow")

Avec colored

print(f'{colored.fg(3)} Mon texte en jaune')

Aller plus loin avec les couleurs en Python !

Bravo 🎉 Vous savez maintenant comment ajouter de la couleur à votre code en Python. Tous ces codes couleurs permettent de modifier les couleurs du texte que vous affichez en console ainsi que la couleur de fond et le style de fond.

Si vous avez aimé ce guide sur les couleurs en Python, vous trouverez d'autres articles sur Python.

Et vous aimerez sûrement les articles suivants :

Comment copier dans le presse-papiers en python ?

Comment calculer puissance d'un nombre en python ?

Comment utiliser if else sur une ligne en python ? (ternaire)

Cours recommandé

Python débutant

Bases du langageExercices corrigésQuatre projets progressifs

Apprenez Python à partir de zéro : variables, conditions, boucles, fonctions et structures de données. Chaque notion est suivie d'exercices corrigés automatiquement, et chaque chapitre se termine par un quiz.

Découvrir le cours
Thomas Collart

Thomas Collart, developpeur et formateur depuis plus de 20 ans. J'ai forme 3 700 etudiants a travers mes formations en ligne, cumule plus de 2 700 000 vues et 43 800 abonnes sur YouTube, TikTok et Instagram.