首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python异步请求

python异步请求
EN

Stack Overflow用户
提问于 2018-05-01 07:51:22
回答 1查看 5.7K关注 0票数 1

因此,我有一个图像url列表,我想用请求库进行迭代,并将所有图像下载到一个目录中。

代码语言:javascript
复制
def get_image(url, image_name):
    path = pathlib.Path('/path/to/some/directory')
    response = requests.get(url, stream=True)
    with open('{}/{}.png'.format(path, image_name), 'wb') as file:
        for block in response.iter_content(1024):
            file.write(block)

for url in urls:
    get_image(url, image_name)

现在,如果为特定的异步请求返回响应,我就不可能创建一个装饰器来使函数成为要运行的回调函数了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-01 12:19:13

如果您想要多个并发的requests +回调,可以使用像G请求书这样的模块。这与asyncio无关。

asyncio --将避免使用回调(以避免回调地狱),并使异步代码的编写与同步代码一样容易。

如果您决定尝试asyncio,您应该使用aiohttp 客户端而不是requests (这是首选的方式),或者在异步管理的线程池中运行requests。这两种方法的示例都可以找到这里

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50113077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档