使用pool.starmap()作为多个参数中的一个参数传入字典

2024-09-28 01:30:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用pool.starmap()来进行许多并发的post请求和URL检索。我构建的函数,让我们称之为“下载”,包含4个参数,其中1个是JSON负载。此函数用于下载文件并返回该文件的路径

现在我将这些参数作为元组列表,但是pool.starmap()不能很好地处理JSON负载,它只是一个字典。它似乎试图将该字典的项作为参数传入,因此在我的示例中引发了以下异常:

“download()接受4个位置参数,但提供了27个”


dataList = [(downloadFolder, jsonPayload, arg3, arg4), (downloadFolder, jsonPayload, arg3, arg4)]

if __name__ == "__main__":
    with Pool(3) as pool:
        filePaths = [pool.starmap(download, i) for i in dataList]

有人知道把字典作为许多论点中的一个而不去查吗?我已经考虑过将我的请求改为requests.post(URL,data=x)而不是requests.post(URL,json=x),但是这个函数已经在很多其他地方使用了,所以我不想这样做


Tags: 文件函数jsonurl参数字典downloadpost

热门问题