我有一个用例,我的API必须将大量数据返回给调用函数。我在python中使用请求库。我设置了stream = true。 响应能够保存接近2 GB的数据,但我现在想将结果返回到流中的调用python脚本而不是单个响应对象。 我该怎么做 目前我正在将所有内容写入列表,然后将列表作为函数结果传递。 我想要做的是在函数调用中传输它。
答案 0 :(得分:0)
默认情况下,当您发出请求时,会立即下载响应正文。您可以覆盖此行为并推迟下载响应正文,直到您使用stream参数访问
Response.content
属性。您可以使用
Response.iter_content()
和Response.iter_lines()
方法进一步控制工作流程。或者,您可以在urllib3.HTTPResponse
处从底层urllib3Response.raw
读取未解码的正文。
您可能还想阅读generator functions,了解如何一次返回一项数据。