今天在跑毕业设计的时候遇到了一个棘手的问题。在打开图像的过程中
遇到了如图所示的warning
于是在网上进行查找解决办法。得知问题是读取的图片已经损坏,我们需要删除这个图片。
很很多帖子要么说捕捉异常,要么忽略这个warning。没有真正地解决问题
后来在stackvoerflow上看到一个帖子,有人给出了正确地做法,在信息来源处让这个warning抛出error,并用try方法地exception方法解决问题。
将
except IOError as msg:
warnings.warn(str(msg))
return
改成
except IOError as msg:
raise ValueError('Corrupt Exif data')
warnings.warn(str(msg))
return
然后在代码中
def is_valid(file):
valid = True
try:
Image.open(file).load()
except Exception as e:
valid = False
return valid
用exception方法找到error,最后os.remove()这个图像。就成功把引出warning地图像删除了。
之后果然不再提示warning。