如何将多个参数传递给 Process?
Posted
技术标签:
【中文标题】如何将多个参数传递给 Process?【英文标题】:How to pass more than one argument to Process? 【发布时间】:2020-11-07 20:16:36 【问题描述】:我想使用多进程模块启动一个具有多个参数的函数作为新进程:
def f(*args):
x= args[0]
y= args[1]
return x+y
p = Process(target=f,args=??)
我想知道如何传递多个参数;据我所知,文档没有提到这一点。
【问题讨论】:
你有没有尝试过?想象如何从发布的代码中传递多个参数似乎并不难 您在寻找 multiprocessing.starmap() 吗? 不应该args*
实际上是 *args
?
我尝试将参数分别作为元组和列表提供,但我不知道如何在函数中捕获它们
【参考方案1】:
使用单独的参数:
def f(x,y):
return x+y
if __name__ == '__main__':
p = Process(target=f,args=(1,2,))
p.start()
p.join()
使用*args
语法:
def f(*args):
x = args[0]
y = args[1]
return x+y
if __name__ == '__main__':
p = Process(target=f,args=(1,2,))
p.start()
p.join()
【讨论】:
以上是关于如何将多个参数传递给 Process?的主要内容,如果未能解决你的问题,请参考以下文章
Process.Start - 将 html 代码作为参数传递给 exe
如何通过 System.Diagnostics.Process() 将参数传递给已经打开的终端
将多个参数传递给testcafe中的ClientFunction
如何使用 TypeScript 将多个参数传递给 Angular 中的 @Directives (@Components)?