6

如何将 StringIO 与 imghdr 一起使用来确定图像是否有效

我将图像加载到

image_file = StringIO(open("test.gif",'rb').read())
imghdr.what(image_file.getvalue())

    print imghdr.what(image_file.getvalue())
  File "/usr/lib/python2.7/imghdr.py", line 12, in what
    f = open(file, 'rb')
TypeError: file() argument 1 must be encoded string without NULL bytes, not str
4

1 回答 1

9

imghdr.what接受可选的第二个参数。如果指定了,则忽略第一个参数,并假定第二个参数包含图像字节。

因此,您可以更改以下行:

print imghdr.what(image_file.getvalue())

和:

print imghdr.what(None, image_file.getvalue())
于 2014-03-18T23:27:31.320 回答