gpt4 book ai didi

python - 如何让 Pool.map 采用 lambda 函数

转载 作者:IT老高 更新时间:2023-10-28 20:34:02 25 4
gpt4 key购买 nike

我有以下功能:

def copy_file(source_file, target_dir):
pass

现在我想使用 multiprocessing 来一次执行这个函数:

p = Pool(12)
p.map(lambda x: copy_file(x,target_dir), file_list)

问题是,lambda 不能被腌制,所以这失败了。解决此问题的最简洁(pythonic)方法是什么?

最佳答案

使用函数对象:

class Copier(object):
def __init__(self, tgtdir):
self.target_dir = tgtdir
def __call__(self, src):
copy_file(src, self.target_dir)

运行你的 Pool.map:

p.map(Copier(target_dir), file_list)

关于python - 如何让 Pool.map 采用 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com