Как изменить XPKeywords с помощью piexif?

import piexif

file = "download.jpeg"
exif_dict = piexif.load(file)
print(exif_dict)
exif_dict["0th"][piexif.ImageIFD.XPKeywords] = "keyword;".encode("utf-16be")
print(exif_dict)
piexif.insert(piexif.dump(exif_dict), file)

Я попытался закодировать ключевое слово перед добавлением его в словарь данных exif, но по какой-то причине оно сохраняется только как кортеж и не отображается, когда я исследую свойства в Windows.

1 ответ

Вы очень близки - XPKeywords кодируется с прямым порядком байтов (например, utf-16le):

      file = "download.jpeg"
exif_dict = piexif.load(file)
print(exif_dict)
exif_dict["0th"][piexif.ImageIFD.XPKeywords] = "keyword1, keyword2".encode("utf-16le")
print(exif_dict)
piexif.insert(piexif.dump(exif_dict), file)
Другие вопросы по тегам