Jzl*_*325 9 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)
Run Code Online (Sandbox Code Playgroud)
正如预期的那样打印:
1 2
{'y': 3, 'x': 2}
2
Run Code Online (Sandbox Code Playgroud)
我试图将相同的样式关键字参数传递给多处理任务,但在args列表中使用**是语法错误.我知道我的函数stretch()将采用两个位置参数和n个关键字参数.
pool = [multiprocessing.Process(target=stretch, args= (shared_arr,slice(i, i+step),**args)) for i in range (0, y, step)]
Run Code Online (Sandbox Code Playgroud)
是否可以将关键字参数传递给multiprocessing.Process?如果是这样,怎么样?如果没有,为什么?
And*_*Cox 16
您作为关键字args使用的字典应作为kwargs参数传递给Process对象.
pool = [multiprocessing.Process(target=stretch, args= (shared_arr,slice(i, i+step)),kwargs=args) for i in range (0, y, step)]
Run Code Online (Sandbox Code Playgroud)