python将全站图片改为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) #保存

第三步:批量转换图片为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操作不同的数据表,赶紧去试试吧

你可能感兴趣的:(python)