无法将EXIF数据保存到fi

2024-04-29 02:22:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个应用程序,将图片的原始日期(拍摄时间)还原为其名称,因为Android手机上的图片名称包含其日期,但我无法保存EXIF数据。
没有错误等。它只是不保存。我用的是PIL和piexif。你知道吗

我在Stackoverflow和其他论坛上尝试了这里的一切,但没有一段代码奏效。
我的代码如下所示:

    def set_exif_tag(self, path, yr, m, d, hr):
        i = iter(hr)
        hr = ':'.join(a+b for a, b in zip(i, i))  # Put ":" every 2 chars

        exif_ifd = {
            piexif.ExifIFD.DateTimeOriginal: f"{yr}:{m}:{d} {hr}".encode(),
            piexif.ExifIFD.DateTimeDigitized: f"{yr}:{m}:{d} {hr}".encode()
        }

        exif_dict = {"Exif": exif_ifd}
        exif_bytes = piexif.dump(exif_dict)
        with open(path, 'r+b'):
            with Image.open(path) as img:
                img.save(path, exif=exif_bytes)
        print("EXIF DICT: " + str(exif_dict))
        print("EXIF BYTES: " + str(bytes(exif_bytes)))

Tags: path代码名称byteswithhr图片dict