如何在python中将二进制图像转换为内存中的数据结构?

如何在python中将二进制图像转换为内存中的数据结构?,python,Python,背景: 我正在使用python 2.6.5 目标: 读取二进制图像文件并在内存中表示它。然后对其运行校验和。将二进制表示形式作为blob存储在mysql中 评论: 我读过这个 我已经看过模块了 我还碰到了模块 有了所有的选择,我不确定哪一个是最好的解决方案。BytesIO数据结构似乎适合我的需要。你认为哪一个符合我的要求 我建议使用PIL(Python图像库) 将其保存为字符串,然后写入数据库。然后,您可以使用字符串黄油接口将其读回PIL。当您从mysql读回blob时,您是将其作为

背景:

  • 我正在使用python 2.6.5
目标:

  • 读取二进制图像文件并在内存中表示它。然后对其运行校验和。将二进制表示形式作为blob存储在mysql中
评论:

  • 我读过这个
  • 我已经看过模块了
  • 我还碰到了模块
  • 有了所有的选择,我不确定哪一个是最好的解决方案。BytesIO数据结构似乎适合我的需要。你认为哪一个符合我的要求
我建议使用PIL(Python图像库)


将其保存为字符串,然后写入数据库。然后,您可以使用字符串黄油接口将其读回PIL。

当您从mysql读回blob时,您是将其作为图像处理还是将其写回文件?请向上投票,选择下面2个选项中的一个,并选择一个答案(如果适用)。此选项计算文件的校验和,而不是图像数据的校验和。这意味着它将为具有相同图像但不同元数据的2.png生成不同的校验和。可能是相关的
>>> from binascii import crc32
>>> with open(filename, "rb") as f:
...     data = f.read()
...
>>> crc32(data)
361260080