Я пытался использовать urllib
, requests
и wget
.Все три не работают.
Я пытаюсь загрузить файл размером 300 КБ .npz
с URL.Когда я загружаю файл с wget.download()
, urllib.request.urlretrieve()
или с requests
, ошибка не выдается .Файл .npz
загружается.Тем не менее, этот .npz
файл не 300 КБ.Размер файла составляет всего 1 КБ.Кроме того, файл не читается - когда я использую np.load()
, появляется ошибка OSError: Failed to interpret file 'x.npz' as a pickle
.
Я также уверен, что URL действителен.Когда я загружаю файл из браузера, он правильно читается np.load()
и имеет правильный размер файла.
Большое спасибо за помощь.
Изменить 1:
Полный код был запрошен.Это был код:
loadfrom = "http://example.com/dist/x.npz"
savedir = "x.npz"
wget.download(loadfrom, savedir)
data = np.load(savedir)
Я также использовал варианты с urllib:
loadfrom = "http://example.com/dist/x.npz"
savedir = "x.npz"
urllib.request.urlretrieve(loadfrom, savedir)
data = np.load(savedir)
и запросов:
loadfrom = "http://example.com/dist/x.npz"
savedir = "x.npz"
r = requests.get(loadfrom).content
with open("x.npz",'wb') as f:
f.write(r)
data = np.load(savedir)
Все они дают одинаковый результат, с вышеупомянутыми условиями.