Python多处理关键字参数

Python多处理关键字参数,python,arguments,multiprocessing,keyword-argument,Python,Arguments,Multiprocessing,Keyword Argument,下面是一个在函数调用中使用关键字参数的简单示例。没什么特别的 def foo(arg1,arg2, **args): print arg1, arg2 print (args) print args['x'] args ={'x':2, 'y':3} foo(1,2,**args) 按预期打印: 1 2 {'y': 3, 'x': 2} 2 我试图将相同样式的关键字参数传递给多处理任务,但在args列表中使用**是一个语法错误。我知道我的函数stretch()将接受

下面是一个在函数调用中使用关键字参数的简单示例。没什么特别的

def foo(arg1,arg2, **args):
    print arg1, arg2
    print (args)
    print args['x']

args ={'x':2, 'y':3}
foo(1,2,**args)
按预期打印:

1 2
{'y': 3, 'x': 2}
2
我试图将相同样式的关键字参数传递给多处理任务,但在args列表中使用**是一个语法错误。我知道我的函数stretch()将接受两个位置参数和n个关键字参数

pool = [multiprocessing.Process(target=stretch, args= (shared_arr,slice(i, i+step),**args)) for i in range (0, y, step)]

是否可以将关键字参数传递给多处理进程?如果是,怎么做?如果没有,原因是什么?

作为关键字args使用的字典应该作为
kwargs
参数传递给
进程
对象

pool = [multiprocessing.Process(target=stretch, args= (shared_arr,slice(i, i+step)),kwargs=args) for i in range (0, y, step)]

把它擦掉。移动()也能正常工作。谢谢您应该命名
kwargs
kwargs,而不是
args