Art*_*yom 9 python md5 python-imaging-library
如何在不保存到文件的情况下获取pil对象的md5?
imq.save('out.png')
hash = hashlib.md5(open('out.png','rb').read()).hexdigest()
Run Code Online (Sandbox Code Playgroud)
ale*_*ula 16
实际上有更简单的解决方案:
hashlib.md5(img.tostring()).hexdigest()
Run Code Online (Sandbox Code Playgroud)
将@ Ignacio的答案转换为代码,使用此答案来帮助:
import StringIO, hashlib
output = StringIO.StringIO()
img.save(output)
hash = hashlib.md5(output.getvalue()).hexdigest()
Run Code Online (Sandbox Code Playgroud)
正如引用的其他答案所指出的,如果PIL尝试自动检测输出格式,这可能会导致KeyError.要避免此问题,您可以手动指定格式:
img.save(output, format='GIF')
Run Code Online (Sandbox Code Playgroud)
(注意:我使用"img"作为变量,而不是我认为是"拼写错误"的"imq".)