在Python中嵌入和检索图像元数据中的长字符串

在Python中嵌入和检索图像元数据中的长字符串,python,image,metadata,Python,Image,Metadata,我想在图像的头中嵌入一个长字符串(几千个字符),然后在以后读取图像时检索它,这两种方法都使用Python。我希望能够做到这一点与PNG,TIFF和JPEG格式。最简单的方法是什么?(特别是我正在寻找一种依赖项最少且最容易安装的方法)。在我看来,依赖项最少的最简单方法就是使用: 根据您将要编写的数据类型,有一些需要考虑。如果您不喜欢直接使用exiftool,请查看和 import subprocess as sub def write_data(filename, data): cmd

我想在图像的头中嵌入一个长字符串(几千个字符),然后在以后读取图像时检索它,这两种方法都使用Python。我希望能够做到这一点与PNG,TIFF和JPEG格式。最简单的方法是什么?(特别是我正在寻找一种依赖项最少且最容易安装的方法)。

在我看来,依赖项最少的最简单方法就是使用:

根据您将要编写的数据类型,有一些需要考虑。如果您不喜欢直接使用exiftool,请查看和

import subprocess as sub

def write_data(filename, data):
    cmd = ('exiftool', '-Comment=%s' % data, filename)
    sub.check_call(cmd)

def get_data(filename):
    cmd = ('exiftool', '-Comment', filename)
    return sub.check_output(cmd).split(':', 1)[-1].strip()

write_data('IMG_0001.jpg', 'a'*2048)
assert get_data('IMG_0001.jpg') == 'a'*2048