我为什么要使用iter_content
,而且我对使用chunk_size
的目的感到非常困惑,因为我尝试使用它,无论如何,文件似乎都会在下载成功后保存。
g = requests.get(url, stream=True)
with open('c:/users/andriken/desktop/tiger.jpg', 'wb') as sav:
for chunk in g.iter_content(chunk_size=1000000):
print (chunk)
sav.write(chunk)
帮助我理解iter_content
的用法,当你看到我使用1000000字节作为chunk_size
时会发生什么,它的目的是什么以及结果是什么?
sav
是一个打开的文件句柄,可以将其表示为与播放器或其他内容的打开管道。 - cowbertstream=True
,则.get()
返回的响应对象将在Response.content
中保存实际的完整响应内容。但是,如果您正在使用流式传输(streaming),则.content
的行为显然需要更改(它无法容纳所有数据),您需要使用iter_content
方法从服务器提取后续数据块到.content
并返回它。这遵循了典型的Python迭代器模式。 - cowbert