美文网首页
PYTHON轻松转.webp成.png格式(图片)

PYTHON轻松转.webp成.png格式(图片)

作者: 双笙_ | 来源:发表于2020-07-03 15:51 被阅读0次

    在日常下载网页图片经常会碰到webp格式的图片,下载下来没办法直接用,如果想要png要怎么办呢?

    接下来不bb, 直接上代码:解释很详细

    import os
    from PIL import Image
    
    # 返回当前工作目录
    CURRENT_PATH = os.getcwd()
    
    # 转换格式
    IMG_EXP = ".png"
    
    # 获取最高所有文件
    cur_all_files = os.listdir(CURRENT_PATH)
    # 转换列表
    imgList = []
    
    
    # 遍历文件夹,储存webp格式的路径到列表内
    def findFileForImage(filePath):
        child_all_files = os.listdir(filePath)
        for child_file_name in child_all_files:
            sPath = os.path.join(filePath, child_file_name)
            if os.path.isdir(sPath):
                findFileForImage(sPath)
            n, e = os.path.splitext(child_file_name)
            if e.lower() == ".webp":
                imgList.append(os.path.join(filePath, n))
    
    
    # 检索目录下所有的webp文件,如果是文件夹则继续向下检索
    for file_name in cur_all_files:
        nPath = os.path.join(CURRENT_PATH, file_name)
        # 文件夹
        if os.path.isdir(nPath):
            findFileForImage(nPath)
            continue
        # 储存
        name, ext = os.path.splitext(file_name)
        if ext.lower() == ".webp":
            imgList.append(os.path.join(CURRENT_PATH, name))
    
    
    # 转换图片
    def convertImage():
        for webpPath in imgList:
            print(webpPath)
    
            # 打开图片并赋值一份新的图片
            img = Image.open(webpPath + ".webp")
            img.load()
            # 将赋值的图片修改后缀保存在原路径
            img.save(webpPath + IMG_EXP)
            # 删除原webp图
            os.remove(webpPath + ".webp")
    
    
    # 执行
    convertImage()
    

    使用条件:

    • python 3 (需按安装 PIL包 )
      用pip进行安装 pip install Pillow 实在不行百度具体搜索pip 安装 pil
    • 把py文件放在对应目录, 使用 终端cmd运行一下 python XXX.py 就行了 (xxx是你py文件名字)

    如果不想敲命令可以使用下面方式

    1.新建文本
    2.复制下面内容进去
    3.保存,修改后缀名为 .bat


    image.png

    双击这个文件就ok了,前提 py文件必须和这个文件在同个目录下

    
    @echo off
     
     
    rem %0         代指批处理文件自身
    rem %~d0       是指批处理所在的盘符
    rem %~dp0      是盘符加路径
     
    rem cd %~dp0   就是进入批处理所在目录了
     
    echo local_cap  
    C:  
    cd %~dp0
    start python xxx.py  (xxx换成你py文件名,这个括号要记得删除了)
    rem 使用ping命令暂停3s,这样可以看到调用python后的结果
    ::ping -n 10 127.0.0.1 > nul
    

    参考文档:
    链接:https://blog.csdn.net/Mr_Sun88/java/article/details/106303440

    相关文章

      网友评论

          本文标题:PYTHON轻松转.webp成.png格式(图片)

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