原文作者:西安鲲之鹏
原文链接:点击打开链接
由于网络问题在采集JPG图片的时候可能会出现不完整的情况,如下图示例:
如何避免这种情况呢?首先我们要能判断出一个JPG文件是否完整,然后对于不完整的进行重新下载,直至下载到完整的为止。
如何判断JPG图片的完整性?
1)方法一:采用PIL库(Python代码如下)。优点:适用常见各种格式图片。缺点:对于某些情况判断失败。
- from PIL import Image
- def valid_image(image_path):
- v_image = Image.open(image_path)
- try:
- v_image.verify()
- except Exception, e:
- return False
- else:
- return True
2)方法二:对于JPG图片,判断文件最后两个字节是否是'\xff\xd9',如果不是则表明文件不完整。优点:简单,准确。
Python代码如下:
- def is_valid_jpg(jpg_file):
- """判断JPG文件下载是否完整
- """
- if jpg_file.split('.')[-1].lower() == 'jpg':
- with open(jpg_file, 'rb') as f:
- f.seek(-2, 2)
- return f.read() == '\xff\xd9'
- else:
- return True
特别说明:该文章为西安鲲之鹏的原创文章 ,你除了可以发表评论外,还可以转载到你的网站或博客,但是请保留源地址,谢谢!!(尊重他人劳动,你我共同努力)