小编Rya*_*yan的帖子

如何在 Python 3 中使用带有多个参数的多重处理?

我有一个 for 循环,它会从一组 URL 中获取一个 URL 并访问该 URL 并执行其他一些操作,但它花费了很长时间,所以我想我可以通过一些多重处理来加速它,但我很挣扎这样做。

感谢您的帮助。

def accessAndSaveFiles(urlSet, user, verboseFlag):
    with multiprocessing.Pool(os.cpu_count()) as pool:
        pool.starmap(processURL, zip(itertools.repeat(urlSet), user, verboseFlag))

def processURL(url, user, verboseFlag):
    filePath = some_path

    img_data = requests.get(url, allow_redirects=True)
    open(filePath, 'wb').write(img_data.content)


def main():
    ...
    accessAndSaveFiles(urlSet, user, verboseFlag)
    ...
Run Code Online (Sandbox Code Playgroud)

我在“pool.starmap(processURL, zip(itertools.repeat(urlSet), user, verboseFlag))”行上收到错误,提示“TypeError: zip argument #3 must support iteration”。我不想迭代这个项目,我只想每次发送相同的值。

python multiprocessing python-3.x

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

multiprocessing ×1

python ×1

python-3.x ×1