Удаление метаданных EXIF в python
Я использую Django-media-tree для импорта изображений в библиотеку изображений сайта. Я сталкиваюсь с ошибкой в PIL, когда некоторые неизвестные данные EXIF на изображении вызывают необработанное исключение при создании миниатюрных изображений. Вместо того, чтобы взламывать PIL, я хочу просто удалить все EXIF-данные с изображения, прежде чем оно будет обработано PIL.
Использование chilkat.CkXmp() Я пытаюсь переписать изображение в новый каталог в чистом виде, однако метод RemoveAllEmbedded() возвращает None, а изображение перезаписывается с сохранением данных EXIF.
import os
import sys
import chilkat
ALLOWED_EXTENSIONS = ['.jpg', 'jpeg', '.png', '.gif', 'tiff']
def listdir_fullpath(d):
list = []
for f in os.listdir(d):
if len(f) > 3:
if f[-4:] in ALLOWED_EXTENSIONS:
list.append(os.path.join(d, f))
return list
def trim_xmp_data(file, dir):
xmp = chilkat.CkXmp()
success = xmp.UnlockComponent("Anything for 30-day trial.")
if (success != True):
print xmp.lastErrorText()
sys.exit()
success = xmp.LoadAppFile(file)
if (success != True):
print xmp.lastErrorText()
sys.exit()
print "Num embedded XMP docs: %d" % xmp.get_NumEmbedded()
xmp.RemoveAllEmbedded()
# Save the JPG.
fn = "%s/amended/%s" % (dir, file.rsplit('/')[-1])
success = xmp.SaveAppFile(fn)
if (success != True):
print xmp.lastErrorText()
sys.exit()
for item in listdir_fullpath('/Users/harrin2/Desktop/tmp/'):
trim_xmp_data(item, '/Users/harrin2/Desktop/tmp')
Может кто-нибудь сказать мне, где я иду не так, или, если есть лучший способ очистки изображений, я открыт для предложений.....
ТИА