Привет, ЛОР!
Пишу скриптик на python, одна из функций которого - скачать файл. Файл большой, 2.5Гб. Вот кусок кода, который его качает:
local_file = urllib.URLopener()
local_file.retrieve(url, filename, reporthook=print_download_progress)
print(". Загрузка успешно окончена!\n")
Однако, иногда сервер разрывает соединение, и я получаю вот что:
Загружено: 39%, 1077960704 байтTraceback (most recent call last):
File "/home/kir/PycharmProjects/Updater/main.py", line 156, in <module>
if update_file(name):
File "/home/kir/PycharmProjects/Updater/main.py", line 122, in update_file
local_file.retrieve(url, filename, reporthook=print_download_progress)
File "/usr/lib/python2.7/urllib.py", line 284, in retrieve
"of %i bytes" % (read, size), result)
urllib.ContentTooShortError: retrieval incomplete: got only 1077955321 out of 2726195712 bytes
ЛОР, как организовать докачку файла?
local_file = urllib.URLopener()
try:
local_file.retrieve(url, filename, reporthook=print_download_progress)
print(". Загрузка успешно окончена!\n")
except urllib.ContentTooShortError:
#тут код докачки файла с места обрыва