Aby mój kod był bardziej „pythonowy” i szybszy, używam funkcji „multiprocessing” i funkcji map do wysyłania a) funkcji i b) zakresu iteracji.
Wszczepione rozwiązanie (tj. Wywołanie tqdm bezpośrednio z zakresu tqdm.tqdm (zakres (0, 30)) nie działa z przetwarzaniem wieloprocesowym (zgodnie z poniższym kodem).
Pasek postępu jest wyświetlany od 0 do 100% (kiedy Python czyta kod?), Ale nie wskazuje faktycznego postępu funkcji mapy.
Jak wyświetlić pasek postępu, który wskazuje, na którym etapie znajduje się funkcja „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()
Każda pomoc lub sugestie są mile widziane ...