2015-02-08 2 views
1

я скачиваю список изображений (все .jpg) из Интернета, используя этот питон скрипт:Python urlretrieve загрузки поврежденных изображений

__author__ = 'alessio' 

import urllib.request 

fname = "inputs/skyscraper_light.txt" 

with open(fname) as f: 
    content = f.readlines() 


for link in content: 
    try: 
     link_fname = link.split('/')[-1] 
     urllib.request.urlretrieve(link, "outputs_new/" + link_fname) 
     print("saved without errors " + link_fname) 
    except: 
     pass 

В OSX просмотра я вижу изображения просто отлично, но я не могу откройте их с помощью любого редактора изображений (например, Photoshop говорит: «Не удалось выполнить ваш запрос, потому что Photoshop не распознает этот тип файла.»), и когда я пытаюсь прикрепить их к текстовому документу, файлы даже не отображаются как изображение файлов в диалоговом окне для просмотра изображения.

Что я делаю неправильно?

+0

Вы используете Python 2 или 3? –

+0

@MalikBrahimi 'urllib.request' является Python 3. –

+0

Это может быть проблема с расширениями файлов. Может быть, предварительный просмотр OSX умнее Photoshop/Word и распознает файлы с неправильным расширением? Можете ли вы привести пример url и имя файла? –

ответ

0

Как отметил Ю.Ф. Себастьян в комментариях, проблема была связана с новой строкой в ​​имени файла.

Чтобы сделать свою работу скрипта, вам нужно заменить

link_fname = link.split('/')[-1] 

с

link_fname = link.strip().split('/')[-1] 
Смежные вопросы