是否可以使用 python 的 Pool.map() 获得交互式反馈



>我有一些看起来像:

from multiprocessing import Pool
def handle_element((element, params)):
# do handling
print ('done handling element')
elements = [....]
element_params = [(), (), ...]
pool = Pool()
pool.map(handle_element, zip(elements, element_params))

我只在map()结束后看到印刷品。

有没有办法从map()中获得更多互动反馈?

编辑:使用Python 2.7

我无法重现您的问题。 我在映射期间收到打印语句。

您的示例有几个问题:

  1. 函数参数中带有额外括号的语法错误。
  2. 您的handle_element函数只应接受一个参数。

使用以下代码,我在执行期间获得输出。

from multiprocessing import Pool
import time
def handle_element(args):
element, params = args
# do handling
print ('done handling element', element, params)
time.sleep(1.0)
elements = range(100)
params = [('a', 'b')] * 100
pool = Pool()
pool.map(handle_element, zip(elements, params))

如果您的示例有更多导致问题的原因,请提供一个演示问题的最小示例。

注意:我使用的是Python 3.6.3。

相关内容

  • 没有找到相关文章

最新更新