如何使用python下载7z文件

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

我想下载文件,它可能是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"
python python-3.x python-requests python-3.6
1个回答
0
投票

请确保在请求文件时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)

如果请求成功,则下载的文件将出现在运行脚本的目录中,或者表示无法下载文件。

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