gpt4 book ai didi

python - 将大文件从 URL 直接流式传输到 gzip 文件

转载 作者:太空宇宙 更新时间:2023-11-03 20:23:21 26 4
gpt4 key购买 nike

我想将一个大文件直接流式传输到 gzip 文件中,而不是将其全部下载到内存中然后压缩。这就是我已经走了多远(不起作用)。我知道如何在 python 中下载文件并保存,我知道如何压缩一个文件,这是行不通的流部分。

注意:此链接的 csv 并不大,它只是一个示例网址。

    import requests
import zlib

url = f"http://samplecsvs.s3.amazonaws.com/Sacramentorealestatetransactions.csv"

with requests.get(url, stream=True) as r:
compressor = zlib.compressobj()
with open(save_file_path, 'wb') as f:
f.write(compressor.compress(r.raw))

最佳答案

好吧,我明白了:

with requests.get(url, stream=True, verify=False) as r:
if save_file_path.endswith('gz'):
compressor = zlib.compressobj(9, zlib.DEFLATED, zlib.MAX_WBITS | 16)
with open(save_file_path, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024*1024):
f.write(compressor.compress(chunk))
f.write(compressor.flush())
else:
with open(save_file_path, 'wb') as f:
shutil.copyfileobj(r.raw, f)

关于python - 将大文件从 URL 直接流式传输到 gzip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58014372/

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