Python请求下载后损坏的文件

问题描述 投票:0回答:1

通过请求下载xlsx文件后,尝试打开它时,我在excel中遇到错误,提示文件无法打开,它已损坏。我认为这与reqsponce中的encoding和parent_encoding有关。参见下图,并注意content的格式。Responce - corrupt但这只是我的猜测。我的代码可以很好地从同一网站上进行另一次下载,并且响应如下所示:Responce - not corrupt

这是我的代码:

resp1 = requests.get(url_full, headers=task, verify=False)



#file_name = resp1.json()['fileName']
file_name = pack + '-' + date_str + '.xlsx'
with open(path + file_name, 'wb') as f:
        #for chunk in resp.iter_content(chunk_size=1024):
            #shutil.copyfileobj(BytesIO(resp.content), f)
        f.write(resp1.content)
f.close()

谢谢您的帮助!

python-3.x encoding download python-requests writefile
1个回答
0
投票

请求docs suggest using iter_content用于分块响应。

您在代码中拥有它,但是由于某些原因,您试图将每个块写入一个单独的文件中。考虑:

iter_content
© www.soinside.com 2019 - 2024. All rights reserved.