python将全站图片改为webp格式

不知道大家是否发现,本站所有的图片基本都是使用的webp格式。那么webp是什么呢?
WebP,是一种同时提供了有损压缩与无损压缩的图片文件格式,是由Google发展出来的。
webp图片格式可以极大地减少文件大小,但同时达到和JPEG格式相同的图片质量,因此可以显著减少图片文件在网络上的发送时间,节约网络流量
据Google较早的测试,WebP的无损压缩比网络上找到的PNG档少了45%的文件大小。而且这么好的技术大部分的浏览器已经支持。所以对于节约网络资源来说,全站采用webp格式最合适不过了,使用python来处理这个事情真是非常方便。这里我将介绍如何使用python将 JPG,JPEG,PNG等各种图片转变为webp格式。

第一步:安装Pillow包


pip install Pillow

第二步:开始转换为webp


from PIL import Image
imagePath = "bingchuan.jpg" #读入文件名称
outputPath = "bingchuan.webp" #输出文件名称
im = Image.open(imagePath) #读入文件
im.size #可查看图片大小
im.thumbnail((1200,900), Image.ANTIALIAS) #重新设置图片大小
im.save(outputPath) #保存
《python将全站图片改为webp格式》

第三步:批量转换图片为webp


from PIL import Image
from os import walk
def pic_webp(picpath):
    imagePath = picpath.split(".")[0] 
#文件名称
    outputPath = imagePath + ".webp" 
#输出文件名称
    im = Image.open(imagePath) 
#读入文件
im.save(outputPath) #保存
for (dirpath,dirname,dirfile) in os.walk("./"): if dirfile.split(".")[1] in ["png","jpeg","jpg"]: pic_webp(dirpath+"/"+dirfile)

简简单单的几句代码就可以将当前目录下所有png,jpeg,jpg图片转换成webp格式的了。当然要把站点全部图片替换还需要将数据库中图片改过来,

大家需要针对不同的cms操作不同的数据表,赶紧去试试吧

点赞