Как скачать 7z файл используя python - PullRequest
0 голосов
/ 05 июля 2018

Я хочу скачать файл, это может быть 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"

1 Ответ

0 голосов
/ 05 июля 2018

Просто убедитесь, что при запросе файла код состояния 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)

Загруженный файл появится в каталоге, в котором выполняется скрипт, если запрос был успешным, или указывает, что файл не может быть загружен.

...