Para hacer que mi código sea más "pitónico" y más rápido, utilizo "multiprocesamiento" y una función de mapa para enviarlo a) la función yb) el rango de iteraciones.
La solución implantada (es decir, llamar a tqdm directamente en el rango tqdm.tqdm (rango (0, 30)) no funciona con multiprocesamiento (como se formula en el código a continuación).
La barra de progreso se muestra de 0 a 100% (¿cuando Python lee el código?) Pero no indica el progreso real de la función del mapa.
¿Cómo mostrar una barra de progreso que indique en qué paso se encuentra la función 'mapa'?
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()
Cualquier ayuda o sugerencia es bienvenida ...