Python colorama | Expliquer comment réaliser une belle impression couleur dans le terminal


Introduction

Construire un programme en ligne de commande est cool : la ligne de commande peut faire ce que nous voulons qu'elle fasse sans passer beaucoup de temps à concevoir une interface graphique par rapport à un programme d'interface graphique. Mais pour rendre le programme en ligne de commande plus attrayant, il est impossible de le faire uniquement avec la fonction d'impression normale.

Une bonne solution consiste à utiliser la bibliothèque colorama. Cela nous permet de coloriser très facilement les chaînes de sortie sur le terminal et d'améliorer l'apparence de l'interface du programme.

Sans plus tarder, voyons comment l'utiliser !

La couleur des caractères du terminal est contrôlée par la séquence d'échappement, qui est la fonction d'affichage du système en mode texte et n'a rien à voir avec la langue spécifique. La séquence d'échappement commence par ESC, qui se termine par \033 (le code ASCII de ESC est 27 en décimal, et il est en octal 033).

Forme d'écriture :

  • Partie de début : \033[Mode d'affichage ; Couleur de premier plan ; Couleur de fond m + Partie de fin : \033[0m
  • Remarque : Les trois paramètres au début : mode d'affichage, couleur de premier plan et couleur de fond sont des paramètres optionnels, et vous ne pouvez en écrire qu'un seul ; de plus, car les valeurs représentant les différentes significations des trois paramètres sont uniques et non répété, les trois paramètres Il n'y a pas d'exigence fixe pour la séquence d'écriture de chaque paramètre, et le système peut le reconnaître ; cependant, il est recommandé d'écrire selon la spécification de format par défaut.
  • Pour la partie finale : En fait, elle peut être omise, mais pour écrire la spécification, il est recommandé de commencer par \033[*** et de finir par \033[0m.

La signification du paramètre représenté par la valeur numérique :

  • Mode d'affichage : 0 (par défaut), 1 (surligné), 22 (pas gras), 3 (italique), 4 (souligné), 24 (non souligné), 5 (clignotant), 25 (non clignotant), 7 (inverse affichage), 27 (affichage non inversé)
  • Couleur de premier plan (couleur de la police ) : 30 (noir), 31 (rouge), 32 (vert), 33 (jaune), 34 (bleu), 35 (magenta), 36 (cyan), 37 (blanc)
  • Couleur de fond : 40 (noir), 41 (rouge), 42 (vert), 43 (jaune), 44 (bleu), 45 (magenta), 46 (cyan), 47 (blanc)

Deuxièmement, imprimer l'impression couleur

Par exemple, la chaîne \033[31m représente l'impression rouge et la chaîne \033[0m est utilisée pour définir la couleur du terminal sur la couleur standard par défaut (généralement le noir). L'exemple de code est le suivant :

begin_color = '\033[1;31m'
end_color = '\033[0m'
print(begin_color + "人生苦短,我用Python!" + end_color)
print("人生苦短,我用Python!")

Vous pouvez définir de manière flexible le mode d'affichage , la couleur de premier plan (couleur de la police) et la couleur d'arrière -plan. Selon vos propres besoins, il est plus pratique d'encapsuler ceux couramment utilisés et de les appeler directement lors de leur utilisation.

Veuillez ajouter une description de l'image

class printColors:
    RED = "\033[1;31m"       # 红色
    RED_3 = "\033[4;31m"     # 红色  带下划线
    PURPLE = "\033[1;35m"    # 紫色
    CYAN = "\033[1;36m"      # 青蓝色
    END = '\033[0m'

print(":".join(["CSDN叶庭云", "https://yetingyun.blog.csdn.net/"]))
print(printColors.CYAN + "人生苦短,我用Python!" + printColors.END)
print(printColors.RED + "人生苦短,我用Python!" + printColors.END)
print(printColors.RED_3 + "人生苦短,我用Python!" + printColors.END)
print(printColors.PURPLE + "人生苦短,我用Python!" + printColors.END)


3. Utilisez la bibliothèque Colorama

Vous pouvez également utiliser la bibliothèque Colorama en Python pour modifier la couleur, la luminosité et l'arrière-plan du texte de sortie du terminal.

Colorama Pypi

L'implémentation derrière cette bibliothèque est également très simple, elle utilise des séquences de caractères d'échappement ANSA. Lorsque le terminal lit l'une de ces séquences, il ne sort pas. Lorsque le terminal est indiqué comme sortie suivante, il utilise la couleur définie précédemment pour la sortie correspondante.

La première consiste à installer, utilisez pip pour installer directement, la ligne de commande est la suivante :

pip install colorama -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

Une fois l'installation terminée, nous pouvons commencer à pratiquer. C'est une bonne pratique de programmation d'ajouter le code d'initialisation suivant au début du code (ceci est utilisé pour s'assurer que la ligne de commande Windows gère correctement la séquence de chaînes ANSA. Sinon, elle imprimera simplement la séquence de caractères) :

Si vous utilisez un autre système d'exploitation, la fonction init() ne fera rien à ce stade, mais il est recommandé de la mettre explicitement dans notre programme pour vous assurer que notre programme fonctionnera sur n'importe quelle plate-forme.

Nous pouvons maintenant commencer à utiliser la bibliothèque. Principalement divisé en trois sous-catégories :

  • Avant : utilisé pour changer la couleur du texte de sortie ;
  • Style : utilisé pour modifier la luminosité du texte de sortie ;
  • Arrière : utilisé pour modifier l'arrière-plan du texte de sortie (c'est-à-dire le texte en surbrillance).

Ensuite on peut commencer par changer la couleur du texte, Colorama nous permet d'utiliser 8 88 couleurs différentes : noir, rouge, vert, jaune, bleu, magenta, cyan, blanc. Ils sont implémentés en tant que variables dans la classe Fore. Leurs noms sont les noms des couleurs, tout en majuscules. Par exemple:

from colorama import Fore, init

init()
print('人生苦短,我用Python!')
print(":".join(["CSDN叶庭云", "https://yetingyun.blog.csdn.net/"]))
print(Fore.RED + '人生苦短,我用Python!')
print(Fore.BLUE + '人生苦短,我用Python!')
print(Fore.GREEN + '人生苦短,我用Python!')
print(Fore.MAGENTA + '人生苦短,我用Python!')
print(Fore.RESET + '人生苦短,我用Python!')   # 回归初始

Le code ci-dessus est facile à mettre en œuvre, comme nous pouvons le voir, nous utilisons également une autre variable RESET, qui sert principalement à restaurer la couleur d'origine du texte.

La classe que nous présenterons ensuite est Back, qui implémente les neuf mêmes mots-clés que la classe Fore : BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.

À ce stade de cet arrière-plan, la couleur définie sera utilisée pour modifier l'arrière-plan du texte de sortie (c'est-à-dire le texte en surbrillance). Un exemple est le suivant :

from colorama import Fore, Back, init

init()
print('人生苦短,我用Python!')
print(":".join(["CSDN叶庭云", "https://yetingyun.blog.csdn.net/"]))
print(Back.RED + '人生苦短,我用Python!')
print(Back.BLUE + '人生苦短,我用Python!')
print(Back.GREEN + '人生苦短,我用Python!')
print(Back.MAGENTA + '人生苦短,我用Python!')
print(Back.RESET + '人生苦短,我用Python!')   # 回归初始


Enfin, nous pouvons utiliser la classe Style pour modifier la luminosité du texte de sortie. Cette sous-classe contient les trois mots clés principaux suivants :

  • BRIGHT : rendre le texte de sortie plus lumineux
  • DIM : estompe le texte de sortie (bien qu'il ressemble à du texte normal)
  • NORMAL : oui, le texte de sortie devient une luminosité normale

Un exemple simple est le suivant :

from colorama import Style, init

init()
print('人生苦短,我用Python!')
print(Style.BRIGHT + '人生苦短,我用Python!')
print(Style.DIM + '人生苦短,我用Python!')

Référence:


Je suppose que tu aimes

Origine blog.csdn.net/fyfugoyfa/article/details/122778172
conseillé
Classement