Chaque fois que vous téléchargez un fichier ou démarrez un jeu, vous voyez une animation esthétique qui se met à jour jusqu'à ce qu'elle soit terminée. Il s'agit d'une barre de progression. Une barre de progression est un élément graphique utilisé pour visualiser la progression d'une tâche telle que le téléchargement, le chargement ou le transfert de fichiers.

Il existe deux types de barres de progression: déterminées et indéterminées. Des barres de progression déterminées suivent la progression d'une tâche dans le temps. Des barres de progression indéterminées s'exécutent à l'infini avec une animation en boucle.

Alors, comment pouvez-vous créer une barre de progression déterminée dans un programme Python CLI ?

Qu'est-ce que le module tqdm ?

tqdm est un module principalement maintenu par Casper da Costa-Luis avec dix autres membres. tqdm dérive du mot arabe taqaddum qui peut signifier "progrès", et est une abréviation pour "je t'aime tellement" en espagnol (te quiero demasiado).

En utilisant le module tqdm, vous pouvez créer une barre de progression attrayante et fonctionnelle directement dans votre terminal. Pour installer le module tqdm, ouvrez votre terminal et exécutez :

pépin installer tqdm

Qu'est-ce que le module de temps ?

Le module utilitaire standard de Python comprend le module horaire par défaut, vous n'avez donc pas à l'installer. Vous pouvez utiliser la fonction de veille fournie dans le module de temps pour ajouter un délai à vos applications, ce qui vous aidera à visualiser la progression de la barre.

Vous pouvez utiliser le module de temps pour obtenir la date et l'heure, planifier des tâches et créer des applications utiles comme un réveil simple, ou un chronomètre.

Comment ajouter une barre de progression et la personnaliser

La barre de progression par défaut est facile à utiliser et vous pouvez la personnaliser avec plusieurs options.

1. Barre de progression simple

Vous pouvez créer une barre de progression simple en important la classe tqdm du module tqdm et la fonction sleep du module time. Utilisez une boucle for et parcourez tqdm sur la plage souhaitée.

La gamme peut aller jusqu'à 9e9 (neuf milliards). Passez le nombre de secondes à la fonction de veille pour ajouter un délai afin que vous puissiez visualiser et voir la barre de progression en action.

Vous pouvez implémenter une barre de progression simple comme celle-ci :

depuis tqdm importer tqdm
depuis temps importer dormir

pour i dans tqdm (plage (100)) :
dormir(.1)

Au lieu d'importer tqdm, vous pouvez importer trange à partir du module tqdm pour combiner tqdm et range et transmettre directement le paramètre.

depuis tqdm importer étrange
depuis temps importer dormir

pour i dans l'étrange (100):
dormir(.1)

La sortie que vous obtenez en créant une simple barre de progression ressemble à ceci :

Cette sortie comprend des versions graphiques et textuelles de la progression, ainsi que des statistiques de synchronisation.

2. Barre de progression avec texte descriptif

Vous pouvez ajouter une étiquette descriptive à la barre de progression pour expliquer son objectif. Passez le texte que vous souhaitez afficher entouré de guillemets doubles comme desc paramètre:

pour i dans tqdm (plage (0, 10), desc ="Progrès: "):
dormir(.4)

La sortie que vous obtenez en ajoutant un texte de description avec la barre de progression ressemble à ceci :

3. Barre de progression avec largeur personnalisée

Par défaut, la largeur de la barre de progression est définie dynamiquement sur la taille de la fenêtre de sortie. Vous pouvez le personnaliser selon vos envies à l'aide du ncols paramètre.

Vous pouvez implémenter une barre de progression avec une largeur personnalisée comme :

pour i dans tqdm (plage (0, 10), ncols = 100, desc ="Progrès: "):
dormir(.1)

La sortie que vous obtenez en allongeant la largeur de la barre de progression ressemble à ceci :

4. Barre de progression utilisant la couleur

Vous pouvez personnaliser la couleur de la barre de progression à l'aide du paramètre de couleur. Vous pouvez le faire de deux manières :

  1. Nom de la couleur : Vous pouvez utiliser le nom de la couleur comme le vert, le noir, le cyan, etc.
  2. Code hexadécimal :Le code hexadécimal est un format dans lequel l'ordinateur stocke la couleur. Vous pouvez indiquer la couleur Hex avec un dièse (#) suivi de 6 caractères en hexadécimal (0-9, a-f). Le code hexadécimal #000000 représente le noir tandis que #ffffff représente le blanc. En faisant varier l'intensité de ces chiffres, vous obtenez différentes nuances de couleurs. Vous pouvez utiliser le Outil de sélection de couleurs de Google pour sélectionner et coller la couleur du code hexadécimal.

Vous pouvez implémenter une barre de progression avec des couleurs personnalisées comme :

pour i dans tqdm (gamme (0, 100), couleur="#00ffff", desc ="Progrès: "):
dormir(.1)

La sortie que vous obtenez en changeant la couleur de la barre de progression :

5. Barre de progression avec intervalle minimum

Vous pouvez créer une barre de progression qui progresse et se met à jour avec un intervalle minimum au lieu du paramètre par défaut. Vous pouvez passer un nombre tel que 1,5 ou 2 qui servira d'intervalle entre deux mises à jour. La valeur par défaut de l'intervalle minimum est 0,1.

Vous pouvez implémenter une barre de progression avec un intervalle minimum comme :

pour i dans tqdm (plage (0, 100), mininterval = 2, desc ="Progrès: "):
dormir(.1)

La sortie que vous obtenez en spécifiant un intervalle minimum à la barre de progression :

6. Barre de progression utilisant des caractères ASCII

Vous pouvez créer une barre de progression en utilisant des caractères ASCII au lieu des barres habituelles que vous voyez à l'écran. Pour utiliser des caractères ASCII, définissez le ascii paramètre au format souhaité.

Si vous utilisez quelque chose comme 12345*, chacune des colonnes de la plage effectue une itération séquentielle de un à un astérisque. Bien qu'il soit cool et personnalisable, assurez-vous de l'utiliser de manière conviviale lorsque vous l'utilisez dans de vraies applications.

Vous pouvez implémenter une barre de progression en utilisant des caractères ASCII comme :

pour i dans tqdm (plage (0, 100), ascii ="12345*"):
dormir(.1)

La sortie que vous obtenez en utilisant des caractères ASCII dans la barre de progression ressemble à ceci :

7. Barre de progression utilisant le point de départ spécifié

Au lieu de démarrer une barre de progression à partir de zéro, vous pouvez définir un point de départ spécifique pour la barre de progression. Passez une valeur de départ comme 50 au initial paramètre.

Vous pouvez implémenter une barre de progression en utilisant un point de départ spécifique comme :

pour i dans tqdm (plage (0, 100), initial = 50, desc ="Progrès: "):
dormir(.1)

La sortie que vous obtenez en démarrant la barre de progression à un point spécifié :

8. Barre de progression avec un nombre spécifié d'itérations

Vous pouvez créer une barre de progression qui exécute un nombre spécifique d'itérations. Si vous voulez exécuter 500 itérations sur 50000, passez 500 comme plage et 50000 comme nombre total d'itérations à la total paramètre.

Vous pouvez implémenter une barre de progression en utilisant un nombre spécifique d'itérations comme :

pour i dans tqdm (plage (0, 500), total = 50000, desc ="Progrès: "):
dormir(.1)

La sortie que vous obtenez en utilisant une barre de progression avec un nombre spécifié d'itérations :

Applications de la barre de progression

Vous verrez des barres de progression dans diverses situations, comme la lecture d'un lecteur multimédia ou l'affichage des étapes via un formulaire en ligne.

Bien qu'une barre de progression ait l'air esthétique, elle fait un travail important en fournissant des commentaires à l'utilisateur en l'absence de quoi il quitterait le site Web.