小文件的话可以直接都存在内存里 然后把整个r.content写进去。但是文件一大,内存肯定就炸了。
所以查看手册,发现可以分块拿数据,作为一个iter。write chunk by chunk。
def download_link_path(url, path, chunk_size=512):
r = req.get(url, stream=True)
f = open(path, "wb")
# chunk是指定每次写入的大小,单位字节
for chunk in r.iter_content(chunk_size=chunk_size):
if chunk:
f.write(chunk)
512字节为一个chunk写入。
本文介绍了一种处理大文件下载的有效方法,通过将文件分为512字节的块进行逐块写入,避免了内存溢出的风险,适用于网络不稳定或文件过大的场景。
1577

被折叠的 条评论
为什么被折叠?



