有没有办法在尝试保存图像之前检查扩展是否适用于 PIL?
在下面的示例中,如果 ext = "jpg" 那么它工作正常,但如果它是 "xxx" 那么我得到一个 keyError。
my_image.save(filepath + ext)
有没有办法在尝试保存图像之前检查扩展是否适用于 PIL?
在下面的示例中,如果 ext = "jpg" 那么它工作正常,但如果它是 "xxx" 那么我得到一个 keyError。
my_image.save(filepath + ext)
您可以使用 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']