2015-11-08 1 views
1

Я использую образец кода, пытающийся вернуть информацию exif из образца .jpg image. Код Python:Python Pillow EXIF ​​данные не возвращаются

from PIL import Image 
from PIL.ExifTags import TAGS 

def get_exif(fn): 
    ret = {} 
    i = Image.open('C:\Users\Me\Desktop\Sample1.jpg') 
    info = i._getexif() 
    for tag, value in info.items(): 
    decoded = TAGS.get(tag, tag) 
    ret[decoded] = value 
    return ret 

Код запускается без ошибок, но ничего не выводит. Кроме того, он попытался вывести его в файл, но не смог написать информацию. Может ли кто-нибудь понять, почему это ничего не возвращает? Спасибо!

+0

Почему вы 'TAGS.get (тег, тег)' ? Кажется, вы не знаете, что делаете. Вы уверены, что в вашем изображении есть данные Exif? –

+0

У него есть данные exif. Я проверяю Windows. Этот код является примером кода, который я нашел. Они сказали, что это сработало, вот почему мне интересно, почему это не дает ошибок ... но ничего не возвращает. – user1642370

+0

Ваш код является функцией, вы вызываете эту функцию с помощью get_exif()? (Я не знаю, почему ваша функция имеет аргумент 'fn', так как вы ее не используете) –

ответ

2

Я не знаю, что вы пытаетесь сделать, но этот код работает для меня (из питона 2.7 и 3 года):

from PIL import Image 
from PIL.ExifTags import TAGS 

def get_exif(): 
    i = Image.open('/path/to/imagefile.jpg') 
    info = i._getexif() 
    return {TAGS.get(tag): value for tag, value in info.items()} 

print get_exif() 
+0

Спасибо! Это уже проявляется. – user1642370

+0

Не забудьте принять ответ, если он вам подходит. благодаря –