python PIL : verify extension before saving

标签 python python-imaging-library

有没有办法在尝试保存图像之前检查扩展名是否适用于 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']

关于 python PIL : verify extension before saving,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132648/

相关文章:

python - 在 python 中启动和停止 ffmpeg 管道

python - Python 中是否有生产就绪的 Web 应用程序框架?

python - 如何将ansible playbook的所有任务限制到ansible_os_family?

Python 使用 PIL 调整动画 gif 的大小

python PIL 砍掉了我的draw.text 的顶部

python - 为什么我的应用引擎查询找不到我的实例?

python - Keras:掩蔽和扁平化

python - 以 JSON 格式发送 OpenCV 图像

tkinter - PIL-GIF 动画,但有些帧是黑色的

python - 将 PILLOW 图像转换为 StringIO