转载自: python模块imghdr.what(file)返回None

1.批量识别图片类型时调用了imghdr包的.what(file)方法,结果一直返回None,并没有返回图片类型,比如jpeg、gif等,而图片并没有损坏,可以正常打开。

2.经过查看底层代码以及参考Issue 28591: imghdr doesn't recognize some jpeg formats - Python tracker发现这是imghdr识别.jpg图像的小缺陷,进入imghdr.py将test_jpeg(h,f)函数添加修改为

def test_jpeg(h, f):
     """JPEG data in JFIF or Exif format"""
     if h[6:10] in (b'JFIF', b'Exif') or h[:2] == b'\xff\xd8':
         return 'jpeg'

问题完美解决。