当前位置: 首页 > 面试题库 >

如何让Pool.map使用lambda函数

董飞
2023-03-14
问题内容

我有以下功能:

def copy_file(source_file, target_dir):
    pass

现在,我想使用multiprocessing一次执行此功能:

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

问题是,不能腌制lambda,因此失败了。解决此问题的最简洁的方法是什么?


问题答案:

使用功能对象:

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)


 类似资料:
  • 我如何获得API调用以返回答案(在本例中是数字70)? 我已经看过了AWS文档和AWS API网关的步骤函数,但是我还是不清楚。 如何创建一个新的lambda函数(或使用上面两个函数中的任何一个)来调用/执行这个step函数来返回答案? 还有其他方法可以通过API调用返回步骤函数的答案吗? 附注:我想使用step函数部署我的机器学习模型,这只是我尝试的一个简单测试。

  • 4.7. 使用 lambda 函数 4.7.1. 真实世界中的 lambda 函数 Python 支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做 lambda 的函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。 例 4.20. lambda 函数介绍 >>> def f(x): ... return x*2 ... >>> f(3) 6 >>> g =

  • 我有对所有用户开放的云功能,我想授权这些功能的任何使用。 我的情况是,我希望其他公司访问我的应用编程接口,但不要访问我没有添加的任何其他用户。 谷歌的文档对我的具体案例没有帮助。 这样做的正确方法是为公司创建一个服务帐户来调用APIendpoint吗? 或者我应该创建一个JWT令牌并以某种方式验证它吗?链接 还是需要创建云endpoint网关? OAuth 2不适合,因为我无法显示同意屏幕,因为它

  • 我试图触发一个lambda函数,在多个表上使用无服务器的dynamodb流。yml配置。可以在aws serverless.yml的触发器上配置通用arn吗。 有dynamodb表req\u tnt1、req\u tnt2、req\u tnt2…等等。每当req\u tnt*表更新时,我都会触发lambda并将信息存储在elasticsearch中以进行自由文本搜索。我能够处理触发lambda和更

  • 我相信在创建GraphQLAPI时默认的数据源是DynamoDB,我想将其设置为Lambda函数。 有没有办法用放大器做到这一点? 如果没有,解决办法是什么? 我在网上找到了AWS教程,其中说明: 我们将向您展示如何编写Lambda函数,该函数根据GraphQL字段操作的调用执行业务逻辑。 但我不能用这个来放大。

  • 我正在尝试使用CloudFormation创建Lambda函数的新版本。 我想拥有同一个Lambda函数的多个版本,这样我就可以(a)在不同的版本中指向别名——比如DEV和PROD——并且(b)能够回滚到更早的版本 这是我的Lambda版本的定义: 运行“aws cloudformation创建堆栈”时会创建一个版本,但后续的“aws cloudformation更新堆栈”命令不会执行任何操作。没