如何在不保存到文件的情况下获取pil对象的md5?
imq.save('out.png')
hash = hashlib.md5(open('out.png','rb').read()).hexdigest()
发布于 2011-03-19 01:07:33
实际上,有一个更简单的解决方案:
hashlib.md5(img.tostring()).hexdigest()
发布于 2010-11-28 17:19:11
将@Ignacio的答案转换为代码,使用this answer提供帮助:
import StringIO, hashlib
output = StringIO.StringIO()
img.save(output)
hash = hashlib.md5(output.getvalue()).hexdigest()
正如参考的其他答案笔记一样,如果PIL尝试自动检测输出格式,这可能会导致KeyError。要避免此问题,您可以手动指定格式:
img.save(output, format='GIF')
(注意:我使用了"img“作为变量,而不是我认为是输入错误的"imq”。)
发布于 2010-11-27 22:44:31
你可以把它写成StringIO
,然后取它的哈希值。
https://stackoverflow.com/questions/4294317
复制相似问题