我使用的是Python 3.9.5版本。我正在编写一个 python 脚本来从浏览器下载 zip 文件。这是代码。如果我从 zip 文件中提取所有文件,它就可以正常工作。但我只想下载包含所有内部文件的主 zip 文件。 我该怎么做? Zipfile.write() 不起作用。
import requests
import os
import json
from robot.api.deco import keyword
import zipfile, io
def download_file(url):
headers= {"Auth": "{abcd}",
"accept": "*/*",
"accept-encoding": "gzip;deflate;br" }
response = requests.request("GET", url, headers = headers)
filename = os.getcwd()+'/downloads/'
z = zipfile.ZipFile(io.BytesIO(response.content))
z.extractall(filename)
return response.status_code
这段代码工作得很好,但我只想下载主 zip 文件而不是解压文件。
如果您不需要查看 zip 文件内部,则不需要任何 zip 感知代码来下载它 - 您只需将响应数据保存到文件中即可。
这里有一个很好的例子:https://stackoverflow.com/a/16696317/3811862。
# remove these 2 lines which extract zip
z = zipfile.ZipFile(io.BytesIO(response.content))
z.extractall(filename)
# add these saves zip file
with open(filename, "w") as f:
f.write(response.content)
已编辑:感谢
with
评论