在尝试保存图像之前,有没有办法检查PIL的扩展是否正常?
在下面的示例中,如果ext =“jpg”,那么它工作正常,但如果它是“xxx”,那么我得到一个keyError。
my_image.save(filepath + ext)
答案 0 :(得分:3)
您可以使用try / except尝试以首选格式保存图像,如果失败则执行其他操作(例如,以回退格式保存)
try:
my_image.save(filepath + ".png")
except KeyError: # cannot save as PNG, save as JPEG then
my_image.save(filepath + ".jpg")
或者检查您是否可以使用扩展程序:
>>> import Image
>>> Image.init()
>>> Image.SAVE.keys() # output from my system
['PCX', 'HDF5', 'TIFF', 'BUFR', 'SPIDER', 'JPEG', 'MSP', 'XBM', 'GIF', 'BMP', 'TGA', 'IM', 'GRIB', 'PPM', 'FITS', 'PDF', 'PALM', 'EPS', 'WMF', 'PNG']