Odczytywanie szczegółowych właściwości zdjęcia

0

Witam, szukam sposobu na skonwertowanie każdej wartości ze słownika ret, która występuje w klasie "bytes", na normalne wartości liczbowe.

from PIL import Image
from PIL.ExifTags import TAGS

def get_exif(fn):
    ret = {}
    img = Image.open(fn)
    info = img._getexif()
    for tag, value in info.items():
        decoded = TAGS.get(tag, tag)
        ret[decoded] = value
    for parameter, data in ret.items():
        print(str(parameter) + ':')
        print(data)

get_exif()
0

Znalazłem rozwiązanie problemu, gdyby kogoś szukał odpowiedzi na podobne pytanie zamieszczam właściwy kod.
Wystarczyło użyć biblioteki _struct a z niej funkcję calcsize. Załączam dokumentacje biblioteki https://docs.python.org/3/library/struct.html#struct.calcsize

from PIL import Image
from PIL.ExifTags import TAGS
from _struct import*


def get_exif(fn):
    ret = {}
    img = Image.open(fn)
    info = img._getexif()
    for tag, value in info.items():
        decoded = TAGS.get(tag)
        ret[decoded] = value
    for parameter, data in ret.items():
        if isinstance(data, bytes):
            data = calcsize('i')
        print(str(parameter) + ':')
        print(data)


get_exif()

1 użytkowników online, w tym zalogowanych: 0, gości: 1