我正在尝试使用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),但是这个函数已经在很多其他地方使用了,所以我不想这样做
你不需要理解列表
starmap
为您执行该迭代您的代码正在将字典解压为
download
的单独参数相关问题 更多 >
编程相关推荐