#python #image
#питон #изображение
Вопрос:
from PIL import Image
img = Image.open("pic_1.png")
print(img.filename) #pic_1.png
#actual outcome:
#AttributeError: 'Image' object has no attribute 'get_filename'
Я работаю над Python 3.8.
Комментарии:
1. Почему бы вам не сохранить строку в переменной в начале, а затем выполнить Image.open(изображение), а затем вы можете просто использовать эту переменную позже
2. Привет, Люк, я отправляю PIL-образ в сокет сервера в виде эха. Я не хочу отправлять имя файла, поэтому, когда я получу файл обратно, я хотел бы извлечь его файл с именем.
3. @Maya вероятно, когда изображение сериализуется через
pickle.dumps(...)
его атрибут filename, оно удаляется. Поэтому вы должны отправить кортеж(img.filename, img)
на сервер.4. Значит, вы не отправляете имя файла на сервер вместе с изображением, но ожидаете, что сервер отправит его вам обратно?
5. @MarkSetchell Похоже, что Maya отправляет только маринованный
img
файл на сервер. Я проверил, чтоimg
у него есть допустимый атрибут.filename
перед травлением, но после травления удаления этот атрибут исчезает, остаются только данные изображения RGB, поэтому PIL не удаляет некоторые атрибуты, такие как filename.