我有一个 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”。我不想迭代这个项目,我只想每次发送相同的值。