今天在跑畢業設計的時候遇到了一個棘手的問題。在打開圖像的過程中
遇到了如圖所示的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。