将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文件移动到我们想要的文件夹。这里我用“就地处理”的方式进行处理,就是在哪个文件夹转换完后还保存在哪个文件夹。
分类:
Python图片处理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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)