最佳答案
为了使我的代码更“ Python 化”和更快,我使用 multiprocessing
和 map 函数来发送 a)函数和 b)迭代的范围。
植入的溶液(即直接在范围 tqdm.tqdm(range(0, 30))
上调用 tqdm
)不适用于多处理(如下面的代码所示)。
进度条从0到100% 显示(当 python 读取代码时?)但它并不表示映射函数的实际进度。
怎样才能显示一个进度条,指出在哪一步的“地图”功能?
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()
欢迎提供任何帮助和建议。