python开发_imghdr_图像格式支持
在python中,imghdr模块对图像格式提供了支持
该模块主要是处理识别图像的格式
imghdr模块提供的函数如下:
1 imghdr.what(filename, h=None) 2 Tests the image data contained in the file named by filename, and returns a string describing the image type. If optional h is provided, t he filename is ignored and h is assumed to contain the byte stream to test.
1 imghdr.tests 2 A list of functions performing the individual tests. Each function takes two arguments: the byte-stream and an open file-like object. When what() is called with a byte-stream, the file-like object will be None. 3 4 The test function should return a string describing the image type if the test succeeded, or None if it failed.
以下的图像格式可以被识别:
Value | Image format |
---|---|
'rgb' | SGI ImgLib Files |
'gif' | GIF 87a and 89a Files |
'pbm' | Portable Bitmap Files |
'pgm' | Portable Graymap Files |
'ppm' | Portable Pixmap Files |
'tiff' | TIFF Files |
'rast' | Sun Raster Files |
'xbm' | X Bitmap Files |
'jpeg' | JPEG data in JFIF or Exif formats |
'bmp' | BMP files |
'png' | Portable Network Graphics |
=====================================================
以下是我做的demo:
=====================================================
1 #python imghdr 2 3 #Author : Hongten 4 #Mailto : hongtenzone@foxmail.com 5 #Blog : http://www.cnblogs.com/hongten 6 #QQ : 648719819 7 #Version : 1.0 8 #Create : 2013-09-09 9 10 import os 11 import imghdr 12 13 #global var 14 #image path 15 IMG_PATH = None 16 17 __author__ = ['Hongten'] 18 19 def get_ext(path): 20 '''return a string describing the image type.''' 21 if os.path.exists(path): 22 return imghdr.what(path) 23 else: 24 print('the path [{}] dose not exit!'.format(path)) 25 26 def init(): 27 global IMG_PATH 28 IMG_PATH = 'C:\\test\\hongten.jpg' 29 30 def main(): 31 init() 32 img_ext = get_ext(IMG_PATH) 33 print('the image : [{}],and the type is :[{}]'.format(IMG_PATH, img_ext)) 34 35 if __name__ == '__main__': 36 main()
运行效果:
the image : [C:\test\hongten.jpg],and the type is :[jpeg]
更多参考: