如何使用python下载7z文件
Posted
技术标签:
【中文标题】如何使用python下载7z文件【英文标题】:How to download 7z file using python 【发布时间】:2018-07-05 12:43:16 【问题描述】:我想下载文件,可能是 zip/7z。当我使用以下代码时,它给出了 7z 文件的错误。
import requests, zipfile, StringIO
zip_file_url = "http://www.blog.pythonlibrary.org/wp-content/uploads/2012/06/wxDbViewer.zip"
try:
r = requests.get(zip_file_url, stream=True)
z = zipfile.ZipFile(StringIO.StringIO(r.content))
except requests.exceptions.ConnectionError:
print "Connection refused"
【问题讨论】:
你能把那个 7z 的错误 说一下吗? zipfile.BadZipFile:文件不是 zip 文件 看一看:***.com/questions/3083235/… 【参考方案1】:请求文件时确保HTTP状态码为200,并以二进制方式写出文件:
import os
import requests
URL = "http://www.blog.pythonlibrary.org/wp-content/uploads/2012/06/wxDbViewer.zip"
filename = os.path.basename(URL)
response = requests.get(URL, stream=True)
if response.status_code == 200:
with open(filename, 'wb') as out:
out.write(response.content)
else:
print('Request failed: %d' % response.status_code)
如果请求成功,则下载的文件将出现在运行脚本的目录中,或者指示文件无法下载。
【讨论】:
以上是关于如何使用python下载7z文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Gin 在 HTTP 服务器中动态生成 zip/7z 存档?