我是Python多处理概念的新手。我试图调用函数magicFunction
,它有多个参数,其中第一个是可迭代的,而所有其他都是不可迭代的。此外,它返回多个值,让我们说x, y, z
我想弄清楚如何在这里使用executor
。这是我的方法,这显然是错误的。
def magicFunction(webElem, uid_list, ignoreTagsList):
..
..
return x,y,z
with concurrent.futures.ProcessPoolExecutor() as executor:
for webElem, x_val, y_val, z_val in zip(webElem_list, executor.map(magicFunction, webElem_list, uid_list, ignoreTagsList)):
..
..
print("Values:", x_val, y_val, z_val)
有人可以建议正确的方法吗?
你可以使用一个类:
class FunctionReturn:
x = 0
y = 0
z = 0
def myFunction():
output = FunctionReturn()
output.x = 1
output.y = 2
output.z = 3
return output
data = myFunction()
print(data.x , data.y , data.z)
这将打印1 2 3