Afficher dans le terminal

La fonction print permet d’afficher du contenu dans le terminal. Par défaut, à près chaque appel à print, il se produit un retour à la ligne.

Il est possible de gérer plus précisément l’affichage à l’aide de codes de caractères spéciaux…

Pour les exemples qui suivent, on utilisera le module time, qu’il faut donc importer :

import time

Afin d’éviter le retour à la ligne imposé par défaut par la fonction print, on ajoutera souvent l’argument end=''.

 

Le curseur

La fonction print affiche un contenu à partir d’un emplacement sur le terminal appelé curseur.

Par défaut, après un appel à print, ce curseur se déplace à la fin du contenu affiché, sur la ligne suivante.

 

Le terminal Python termine toujours par l’affichage du prompt '>>> '

 

Cacher/Montrer le curseur

Code pour cacher : '\033[?25l'

Code pour montrer: '\033[?25h'

 

Retourner à la position HOME

Code : '\033[H'

 

Autres codes pour gérer la position du curseur

Voir Cursor Controls

Effacer

Effacer tout ce qui suit le curseur

Code : '\033[0J'

 

Exemple : une barre de progression

import time

print('\033[H', end='') # Place le curseur au début de l'écran
print('\033[J', end='') # Efface tout ce qui suit le curseur (sans retour à la ligne)
print('\033[?25l') # Efface le curseur

for i in range(0,101,2):
    print('\033[H', end='')
    print('#'*(i//2))
    print(f"{i}%")
    time.sleep(0.2)
    
print('\033[?25h') # Affiche le curseur
print()

 

 

Autres codes pour effacer

Voir Erase Functions

 

 

 

Changer le style des caractères

Il existe un ensemble de couleurs nommées (noir, rouge, vert, …), ainsi que des styles (gras, italique, souligné, …).

On peut, pour simplifier, encapsuler tout ça dans une classe :

class bcolors: 
    VIOLET = '\033[95m' 
    BLEU = '\033[94m' 
    CYAN = '\033[96m' 
    VERT = '\033[92m' 
    JAUNE = '\033[93m' 
    ROUGE = '\033[91m' 
    ENDC = '\033[0m' 
    BOLD = '\033[1m' 
    UNDERLINE = '\033[4m' 

Ainsi on peut afficher du texte coloré grâce au formatage par f-string :

print(f"Voici un {bcolors.ROUGE}texte{bcolors.ENDC} {bcolors.BOLD}avec{bcolors.ENDC} des {bcolors.BLEU}couleurs{bcolors.ENDC}")

 

Source : https://gist.github.com/ConnerWill/d4b6c776b509add763e17f9f113fd25b

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *