Skip to content

图片转 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: 保留原始文件

注意事项

  1. 备份重要文件:默认情况下脚本会删除原始文件,建议先备份重要图片
  2. 同名文件覆盖:如果目录中已存在 banner.webp,脚本会询问是否覆盖
  3. 比例保持:脚本会保持图片的原始宽高比
  4. 小图片处理:如果原图宽度小于目标宽度,将保持原始尺寸

使用示例

# 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 个文件