Pour rendre mon code plus "pythonique" et plus rapide, j'utilise le "multiprocessing" et une fonction map pour lui envoyer a) la fonction et b) la plage d'itérations.
La solution implantée (c'est-à-dire appeler tqdm directement sur la plage tqdm.tqdm (plage (0, 30)) ne fonctionne pas avec le multitraitement (comme formulé dans le code ci-dessous).
La barre de progression est affichée de 0 à 100% (quand python lit le code?) Mais elle n'indique pas la progression réelle de la fonction map.
Comment afficher une barre de progression qui indique à quelle étape se trouve la fonction «carte»?
from multiprocessing import Pool
import tqdm
import time
def _foo(my_number):
square = my_number * my_number
time.sleep(1)
return square
if __name__ == '__main__':
p = Pool(2)
r = p.map(_foo, tqdm.tqdm(range(0, 30)))
p.close()
p.join()
Toute aide ou suggestion est la bienvenue ...