Подтвердить что ты не робот

PIL image.open() работает для некоторых изображений, но не для других

Я использую PIL, чтобы регулярно открывать файлы AREA из NOAA. В последней партии изображений, которые я получил, команда image.open() просто не работает. Вот простой код, который я написал, который дает те же результаты. Он будет открывать, поворачивать и выполнять обычные задачи с файлом месяц назад, а не с файлом с сегодняшнего дня.

from PIL import Image
im = Image.open("path/to/file")
im.show()

Здесь ошибка:

File "image_goes.py", line 2, in <module>
im = Image.open("path/to/file")
File "/usr/lib/python2.6/dist-packages/PIL/Image.py", line 1980, in open
raise IOError("cannot identify image file")
IOError: cannot identify image file

Вот что я пробовал:

  • Открытие изображения на двух отдельных машинах.
  • Изменение папки файла в случае возникновения проблемы с разрешением
  • Заново загрузите изображение, а также две другие партии, используя как FTP вручную, так и наш автоматический script.

Моя гипотеза заключалась в том, что возникла проблема с загрузкой script и что она не полностью загружала файл, но эта гипотеза отвергается из-за того, что новые файлы имеют правильный размер и что я их вручную загрузил, используя клиент FTP и получил те же результаты.

Моя единственная другая теория заключается в том, что сегодня существует проблема с файлами NOAA или что они были изменены таким образом, что PIL больше не справляется с ними, но я нахожу это маловероятным.

Любая помощь очень ценится, Благодаря

4b9b3361

Ответ 1

Возможно, контент на самом деле не синхронизирован с диском. попробуйте Image.open(open("path/to/file", 'rb'))