3

有没有办法在尝试保存图像之前检查扩展是否适用于 PIL?

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

my_image.save(filepath + ext)
4

1 回答 1

5

您可以使用 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']
于 2013-06-16T11:12:30.387 回答