マルチプロセッシング:tqdmを使用してプログレスバーを表示します

| | | | | | | | | | | | | | |

コードをより「pythonic」で高速にするために、「マルチプロセッシング」とマップ関数を使用して、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() 

ヘルプや提案は大歓迎です...