python获取图片类型

  1. imghdr
    python有一个自带的函数,可以获取图片类型
    imghdr.what(f, h=None)
    
    f可以是一个文件路径,也可以是一个打开的文件类型
    例如:
    import imghdr
    imghdr.what('path/to/ur/image')
    
    结果等价于
    import imghdr
    f = open('path/to/ur/image')
    imghdr.what(f.read())
    
  2. Imgae
    from PIL import Image
    img = Image.open('path/to/ur/image')
    filetype = img.format()
    
  3. 获取base64编码图片的格式
    如果我们获得的是一个base64编码的图片,想要得到他的图片格式,需要对base64编码图片做一些转变
    传过来的图片
    import base64
    f = open('path/to/ur/image')
    img_b64 = base64.b64encode(f.read())
    
    利用imghdr获得图片格式
    import imghdr
    img = base64.b64decode(img_b64)
    imghdr.what(None,img)
    
    利用Image获得图片格式
    import io
    from PIL import Image
    img_bytes = io.BytesIO(base64.b64decode(img_b64))
    img = Image.open(img_bytes)
    filetype = img.format()
    
posted @ 2021-08-18 16:30  老张哈哈哈  阅读(1546)  评论(0编辑  收藏  举报