gpt4 book ai didi

python - 如何在 Python 中进行非阻塞 URL 获取

转载 作者:行者123 更新时间:2023-11-28 20:00:12 27 4
gpt4 key购买 nike

我正在 Pyglet 中编写一个 GUI 应用程序必须显示来自 Internet 的数十到数百个缩略图。现在,我正在使用 urllib.urlretrieve去抓取它们,但这每次都会阻塞,直到它们完成,并且一次只抓取一个。

我宁愿并行下载它们,并在每个下载完成后立即显示,而不会在任何时候阻塞 GUI。执行此操作的最佳方法是什么?

我不太了解线程,但它看起来像 threading模块可能有帮助?或者也许有一些我忽略的简单方法。

最佳答案

您可能会受益于threadingmultiprocessing模块。您实际上不需要自己创建所有那些基于 Thread 的类,使用 Pool.map 有一个更简单的方法:

from multiprocessing import Pool

def fetch_url(url):
# Fetch the URL contents and save it anywhere you need and
# return something meaningful (like filename or error code),
# if you wish.
...

pool = Pool(processes=4)
result = pool.map(f, image_url_list)

关于python - 如何在 Python 中进行非阻塞 URL 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/983144/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com