将webp格式的图像批量转化成jpg - Python

有读公众号的习惯,有时候看到喜欢的图片难免想保存下来,然后再用word文档或者其他啥的编辑一下,但是word文档并不支持webp,添加到word文档后是不会显示的。所以想着转换成jpg格式的。

首先是单个文件的转换:

1
2
3
4
5
6
7
8
import os
from PIL import Image
 
path = r"C:\Users\xxx\1.webp" # 打开单张图片
im=Image.open(path) # 打开路径
im.load() # 加载图片
im.save(r"C:\Users\xxx\1.jpg") # 存储为jpg格式
# os.remove(path)

 

当然,有时候不止一个文件,所以还得有个批量处理的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class processImage():
    """
        一个将批量将webp文件转换成jpg的程序
    """
    def __init__(self):
        self.path = r'C:\Users\xxx\1' # 就一个参数,就是文件夹的位置
 
    # 读取文件夹下的文件
    def loadFile(self):
        fileList = os.listdir(self.path) # 读取文件夹下的所有文件(包含文件夹)
        return fileList # 返回列表
 
    # 查找文件夹下所有webp的图像
    def webp2jpg(self, fileList:list):
        for item in fileList: # 循环读取列表,得到的item是文件名
            if item.endswith('.webp'): # 如果文件名以.webp结尾
                src = os.path.join(os.path.abspath(self.path), item) # 获取文件的绝对路径
                print("src=", src) # 打印看是否符合预期
                im = Image.open(src) # 绝对路径打开.webp格式的文件
                im.load() # 加载
                save_name = src.replace('webp','jpg') # 保存的文件名
                im.save('{}'.format(save_name), 'JPEG') # 保存
                # os.remove(src) # 删除源文件
 
if __name__ == "__main__":
    nc = processImage()
    fileList = nc.loadFile()
    nc.webp2jpg(fileList)

  

最后一种情况就是,文件夹下有文件夹,子文件夹下也有webp格式的文件,要将他们也处理成jpg格式的,当然,可以手动移动到一个目录,然后用上面的批量代码处理。也可以用os模块,将子文件夹下的webp文件移动到我们想要的文件夹。这里我用“就地处理”的方式进行处理,就是在哪个文件夹转换完后还保存在哪个文件夹。

 

posted @   、一叶孤城  阅读(1770)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示