webp这种图片格式,是谷歌公司专门针对谷歌浏览器发布的一种全新的图片格式。相对于传统的jpg和png格式,webp格式的优势非常明显,更小的体积和肉眼无法区别出来的压缩损耗。但是对于很多人来说,下载下来之后使用不太方便,需要转成jpg。
可以使用Python中的PIL包来实现。
from PIL import Imagedef webp_to_jpg(img):tmp_file=img.replace('webp','png')#临时文件的文件名to_file=img.replace('webp','jpg')#转换后的文件名tmp_image=Image.open(img)tmp_image.save(tmp_file,'PNG')#创建临时文件并保存try:to_img=Image.open(tmp_file).convert('RGB')to_img.save(to_file,'JPEG',quality=100)#创建jpg文件并保存os.remove(img)#删除原始文件except:print(img+'转换错误')finally:if os.path.exists(tmp_file):os.remove(tmp_file)#删除临时文件
其中有几个需要注意的点:
1、quality=100表示设置JPEG图像的质量参数,如果不设置,默认为75;
2、如果需要保留原始文件,可以在try部分不进行删除;
3、设置临时文件和转换后的文件名,需要注意原始文件名称里是否有‘webp’字符,我这里确定没有类似的字符,就直接用replace替换了,如果有文件名或路径文件夹名称被替换的风险,可以用其他方式设置。