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 (ie , appelez tqdm directement sur la plage tqdm.tqdm(range(0, 30)) ne fonctionne pas avec le multitraitement (tel que formulé dans le code ci-dessous).
La barre de progression s'affiche de 0 à 100 % ( quand python lit le code ?) mais cela 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 "map" ?
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 ...