图片转 WebP
功能说明
这个 Python 脚本可以:
- 扫描当前目录及所有子目录中的图片文件
- 将图片转换为 WebP 格式
- 调整图片宽度为 800 像素(保持原始比例)
- 将转换后的图片重命名为
banner.webp
- 删除原始图片文件(可选)
支持的图片格式
- JPG/JPEG
- PNG
- GIF
- BMP
- TIFF/TIF
- WebP
安装依赖
首先需要安装 Pillow 库:
pip install Pillow
使用方法
基本用法
# 转换所有图片为WebP格式,宽度800px
python convert_images_to_webp.py
高级选项
# 预览模式 - 只显示将要处理的文件,不实际转换
python convert_images_to_webp.py --dry-run
# 自定义宽度(例如1200像素)
python convert_images_to_webp.py --width 1200
# 自定义质量(0-100,默认80)
python convert_images_to_webp.py --quality 90
# 保留原始文件
python convert_images_to_webp.py --keep-original
# 组合使用
python convert_images_to_webp.py --width 1000 --quality 85 --keep-original
参数说明
--width
: 目标宽度(像素),默认 800--quality
: WebP 质量(0-100),默认 80--dry-run
: 预览模式,只显示将要处理的文件--keep-original
: 保留原始文件
注意事项
- 备份重要文件:默认情况下脚本会删除原始文件,建议先备份重要图片
- 同名文件覆盖:如果目录中已存在
banner.webp
,脚本会询问是否覆盖 - 比例保持:脚本会保持图片的原始宽高比
- 小图片处理:如果原图宽度小于目标宽度,将保持原始尺寸
使用示例
# 1. 首先预览将要处理的文件
python convert_images_to_webp.py --dry-run
# 2. 执行转换(保留原文件以防万一)
python convert_images_to_webp.py --keep-original
# 3. 如果转换结果满意,再次运行删除原文件
python convert_images_to_webp.py
输出示例
🔍 正在搜索目录:/path/to/your/images
📁 找到 3 个图片文件:
./folder1/image1.jpg
./folder2/photo.png
./folder3/picture.gif
🚀 开始转换 (目标宽度:800px, 质量:80%)...
✅ 转换成功:./folder1/image1.jpg -> ./folder1/banner.webp
尺寸:1920x1080 -> 800x450
🗑️ 已删除原文件:./folder1/image1.jpg
✅ 转换成功:./folder2/photo.png -> ./folder2/banner.webp
尺寸:1200x800 -> 800x533
🗑️ 已删除原文件:./folder2/photo.png
📊 转换完成!
成功:2 个文件
失败:0 个文件