Python PIL:保存之前验证扩展

时间:2013-06-16 11:06:06

标签: python python-imaging-library

在尝试保存图像之前,有没有办法检查PIL的扩展是否正常?

在下面的示例中,如果ext =“jpg”,那么它工作正常,但如果它是“xxx”,那么我得到一个keyError。

my_image.save(filepath + ext)

1 个答案:

答案 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']