webp这种图片格式,是谷歌公司专门针对谷歌浏览器发布的一种全新的图片格式。相对于传统的jpg和png格式,webp格式的优势非常明显,更小的体积和肉眼无法区别出来的压缩损耗。但是对于很多人来说,下载下来之后使用不太方便,需要转成jpg。
可以使用Python中的PIL包来实现。
from PIL import Image
def 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替换了,如果有文件名或路径文件夹名称被替换的风险,可以用其他方式设置。