7
我有一些代码,简化了下来,看起来是这样的:functools.partial不适用于multiprocessing.Pool.map吗?
run = functools.partial(run, grep=options.grep, print_only=options.print_only, force=options.force)
if not options.single and not options.print_only and options.n > 0:
pool = multiprocessing.Pool(options.n)
Map = pool.map
else: Map = map
for f in args:
with open(f) as fh: Map(run, fh)
try:
pool.close()
pool.join()
except NameError: pass
,像这样
TypeError: type 'partial' takes at least one argument
一起混合起来工作正常,当我在单进程模式下运行,但失败,错误通过多处理模块长时间调用堆栈。这是怎么回事?
我正在使用python 2.6.1。
'解决方法'链接已死!请更新 – 2017-10-25 06:51:54
更新为指向web.archive :) – katrielalex 2017-10-25 20:10:15