Подушка продолжает бросать, не может идентифицировать файл изображения в окне в Python2.7.6

Я использую Python2.7.6 и Pillow 2.3.0 в 32-битной Windows. И на моей машине не установлен PIL.

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

>>> from PIL import Image
>>> file = open(r"C:\\a.jpg", 'r')
>>> image = Image.open(file)
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\pillow-2.3.0-py2.7-win32.egg\PIL\Image.py", line 2025, in open
  IOError: cannot identify image file

Но это работает, если я не "открою" файл перед тем, как открыть его с помощью Image.Open:

>>> image2 = Image.open(r"C:\\a.jpg", 'r')

ПРИМЕЧАНИЕ. Я не могу опустить оператор "Open".

Кто-нибудь знает, что может быть причиной этого странного поведения?

Заранее спасибо!


person user3436567    schedule 19.03.2014    source источник


Ответы (1)


Не делайте image = Image.open(file) , вы уже открыли файл.

Попробуйте image = Image.open("C:\\a.jpg")

Вот модуль изображения: http://effbot.org/imagingbook/image.htm

ИЗМЕНИТЬ:

Используйте 'rb' вместо 'r' при открытии файла

person Mihai Zamfir    schedule 19.03.2014
comment
Благодарю за ваш ответ! Но, к сожалению, я должен сначала открыть файл изображения как файл, прежде чем открывать его как файл изображения. Этот файл используется в нескольких местах и ​​отлично работает на других платформах. Я думаю, что это строго связано с проблемой Windows. - person user3436567; 19.03.2014