pythongevent:向通过调用的函数传递多个参数池.map

2024-10-01 07:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将多个参数传递给我调用的函数pool.map?在

我的代码:

import gevent
from gevent.pool import Pool

def process(param1, param2):
    return "dosomething"

pool = Pool(10)
jobs = [('arg1a', 'arg1b'), ('arg2a', 'arg2b')]

# should pass arguments so that it results in these calls
# process(param1=arg1a, param2=arg1b)
# process(param1=arg2a, param2=arg2b)
results = pool.map(process, jobs) # does not work

Tags: 函数importmapjobsgeventprocessresultsparam1
1条回答
网友
1楼 · 发布于 2024-10-01 07:27:56

似乎gevent.Pool.map方法只允许将单个项作为参数传递给您提供的函数。但是,您可以对函数进行编码,以轻松地解包其参数:

def process(params):
    param1, param2 = params
    ...

或者,可以在调用pool.map时使用lambda表达式处理参数解包:

^{pr2}$

相关问题 更多 >