gpt4 book ai didi

Python - 使用具有多个参数的多处理不起作用

转载 作者:行者123 更新时间:2023-12-01 00:27:55 25 4
gpt4 key购买 nike

我正在尝试使用具有多个参数的多重处理来打印虚拟值,但这似乎不起作用。我收到错误

"f() missing 2 required positional arguments:..."

对于以下代码:

from multiprocessing import Pool

class tryProcessing:
def f(self, arr, arg1, arg2):
print(arr + " " + arg1 + " " + arg2)

def func(self, arr, arg1, arg2):
arg1 = "hi"
arg2 = "hello"
arr_a = ['1','2']
arr_b = ['3','4','5']
p = Pool(Processes=2)
p.map(self.f, [[a, arg1, arg2], [b, arg1, arg2]])
p.close

我做错了什么?

P.s. in this answer ,他做了类似的事情,我不明白为什么他的作品有效,而我的则不然。

最佳答案

您正在寻找starmap ,它期望迭代包含要扩展为函数参数的参数的嵌套迭代。它使用星号(splat)符号来扩展,因此得名。

附注您实际上从未在函数末尾调用 p.close

关于Python - 使用具有多个参数的多处理不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58413022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com