如何使用脚本批量地将webp转换成 png,jpg

webp是谷歌官方推出的一种比jpg和png更优压缩算法的图片格式。谷歌在推出这种格式的时候也推出了一些工具,可以方便地实现jpg和webp之间的相互转换。

在谷歌的webp工具包中,有很多shell脚本,常用的有

  • dwebp 将webp转换为png
  • cwebp 将png转换为webp
  • gif2webp 将gif转化为webp
  • vwebp 查看webp图片

其他工具脚本可以查看webp

将webp转换成jpg或者png很简单,使用下面的命令即可。

  • dwebp picture.webp -o output.png

  • dwebp picture.webp -ppm -o output.ppm

  • dwebp -o output.ppm -- ---picture.webp

  • cat picture.webp | dwebp -o - -- - > output.ppm

-o 代表输出文件路径;-ppm代表将输出格式修改为PPM;其他参数可以参考dwebp命令

我们就使用最简单的命令./dwebp 1.webp -o 1.jpg即可。

Python 脚本

import os
import time


# 遍历指定目录,显示目录下的所有文件名
def convertWebp2JpgInDirectory(dir):
    if os.path.isdir(dir):
        allfiles = os.listdir(dir)
        for fi in allfiles:
            fi_d = os.path.join(dir, fi)
            if os.path.isdir(fi_d):
                convertWebp2JpgInDirectory(fi_d)
            else:
                if fi_d.endswith(".jpg"):
                    webp = os.path.join(dir, fi_d)
                    filename = webp.split("/")[-1]
                    filedir = "/".join(webp.split("/")[:-1])
                    filedir = "%s_jpg"%filedir
                    if not os.path.exists(filedir):
                        os.makedirs(filedir)
                    jpg = "%s/%s"%(filedir, filename)
                    commandline = "./dwebp %s -o %s" % (webp, jpg)
                    os.system(commandline)
                    print(webp + " ------> 转换成功")


if __name__ == "__main__":
    convertWebp2JpgInDirectory("/path/to/directory")

Webp工具包

觉得不错的,可以点个赞。

    原文作者:orzangleli
    原文地址: https://www.jianshu.com/p/e940397d8822
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞