Forum Programmation.python iterator et barre de progression

Posté par  . Licence CC By‑SA.
Étiquettes :
5
21
nov.
2022

Salut !

Petite question rapide aux experts du langage, pour essayer de faire du joli code en Python.

J'ai cette ligne dans mon code

self.samples = [next(self.spect) for _ in range(sample_rate * 30)]

qui peut prendre plusieurs minutes pour fournir un résultat. J'aimerais afficher une petite barre de progression dans la console pour indiquer que le script est pas planté.

La question est de savoir si c'est possible en laissant la ligne en l'état (et si oui comment), ou si je vais devoir forcément décomposer dans une boucle for.

D'avance merci beaucoup =)

  • # Tqdm

    Posté par  . Évalué à 10.

    Salut !

    T'as la lib tqdm pour faire ça en une ligne ;)

    On peux faire beaucoup de choses avec, mais dans le cas le plus simple, comme ici, il suffit de faire ça :

    # pip install tqdm
    
    from tqdm import tqdm
    
    self.samples = [next(self.spect) for _ in tqdm(range(sample_rate * 30))]
    • [^] # Re: Tqdm

      Posté par  . Évalué à 3.

      Merci ça à l'air chouette.

      Plus qu'à réflechir si je crée une dépendance de plus juste pour ça =D

    • [^] # Re: Tqdm

      Posté par  . Évalué à 10.

      moi j'utilise rich qui permet des barres de progressions en plus de plein de trucs pour faire des des belles sorties texte.

      la doc

      Titre de l'image

      • [^] # Re: Tqdm

        Posté par  . Évalué à 5.

        De ce que j'ai vu sur la page du projet, rich a l'air d'être un gros truc.
        Est-ce bien pertinent d'ajouter une aussi grosse lib si ce n'est que pour utiliser une infime part de ses fonctionnalités ?

        Il y a 10 sortes de gens dans le monde – ceux qui comprennent le ternaire, ceux qui ne le comprennent pas et ceux qui le confondent avec le binaire.

        • [^] # Re: Tqdm

          Posté par  (site web personnel) . Évalué à 1.

          Est-ce bien pertinent d'ajouter une aussi grosse lib si ce n'est que pour utiliser une infime part de ses fonctionnalités ?

          Clairement, non :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.