美文网首页Python 运维
如何使用脚本批量地将webp转换成 png,jpg

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

作者: orzangleli | 来源:发表于2017-11-21 16:02 被阅读5147次

    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工具包

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ybswvxtx.html