Разница между функцией чтения PILLOW и функциями чтения / записи piexif
Я работаю над редактированием изображений JPG с пустыми полями, такими как ImageDescription, и хочу заполнить раздел комментариев метаданными Flickr, такими как 'Caption:......\nAlbums:....', просто информация, которую я не могу хранить где-нибудь еще.
Я новичок в Pillow (Image) и piexif (и Python) и не понимаю, какие функции чтения / записи использовать. Другие люди используют._getexif() или.getexif() PIL.Image. Я думал, что оба возвращают None, если нет данных exif, но.getexif() не возвращает None, когда это делает._getexif(). Я также видел сообщения с
exif_dict = piexif.load(img_file.info['exif'])
но это не извлекает для меня никаких данных GPS, в то время как функции чтения изображений делают! Я также получаю только эскиз с помощью.getexif(), в то время как два других показывают изображение окна по умолчанию. Я хочу, чтобы функция чтения возвращала None, чтобы я мог пропустить эти изображения без данных exif.
Может ли кто-нибудь объяснить мне различия между этими тремя функциями чтения? Есть ли проблема с piexif.dump, которая вызывает у меня проблемы? Мне не удалось найти эквивалент PIL.Image для помещения моего отредактированного exif_dict обратно в изображение, поэтому я застрял с piexif.dump.