# batch-convert-to-webp **Repository Path**: scriptfan/batch-convert-to-webp ## Basic Information - **Project Name**: batch-convert-to-webp - **Description**: 图片批量转webp格式 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 批量图片转 WebP 工具 将目录下的所有非 WebP 图片(jpg/png/bmp/tiff/gif)转换为 WebP 格式,**直接覆盖原文件,文件名和扩展名保持不变**。 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行 ```bash # 转换当前目录下所有图片(含子目录) python batch_convert_to_webp.py # 转换指定目录 python batch_convert_to_webp.py D:\images # 仅处理当前目录(不递归子目录) python batch_convert_to_webp.py . --no-recursive ``` ## 功能说明 | 特性 | 说明 | |------|------| | **格式转换** | 将 jpg/png/bmp/tiff/gif 转换为 WebP | | **质量** | 默认 60,可通过 `-q` 调整 | | **覆盖方式** | 直接覆盖原文件,文件名和扩展名完全不变 | | **透明通道** | 自动保留 PNG 等图片的透明通道 | | **安全保护** | 先写临时文件 → 确认成功 → 删原图 → 重命名,中途失败不丢原图 | | **预览模式** | 先看哪些文件会被处理,确认后再实际执行 | ## 命令行参数 | 参数 | 说明 | |------|------| | `directory` | 要处理的目录(默认当前目录 `.`) | | `-q, --quality` | WebP 质量 1-100(默认 `60`) | | `--no-recursive` | 仅处理指定目录,不递归子目录 | | `--dry-run` | 预览模式,只看不改 | ## 使用示例 ### 处理整个图片目录 ```bash python batch_convert_to_webp.py D:\photos ``` ### 自定义质量 ```bash # 质量 80,质量更好但文件稍大 python batch_convert_to_webp.py D:\images -q 80 # 质量 30,极致压缩 python batch_convert_to_webp.py D:\images -q 30 ``` ### 只处理单层目录(不递归) ```bash python batch_convert_to_webp.py D:\images --no-recursive ``` ### 先预览再执行 ```bash # 先看哪些文件会被转换 python batch_convert_to_webp.py D:\images --dry-run # 确认无误后执行 python batch_convert_to_webp.py D:\images ``` ## 运行效果示例 ``` 📁 扫描目录: D:\images 🔁 递归子目录: 是 ⚙️ WebP 质量: 60 -------------------------------------------------- ✅ 完成: photo.png (质量=60) ✅ 完成: banner.jpg (质量=60) ✅ 完成: icon.bmp (质量=60) ❌ 失败: broken.tiff - 文件损坏 -------------------------------------------------- 📊 处理完成: 成功 3 张,跳过/失败 1 张 ``` ## 注意事项 - ⚠️ **操作不可逆**:转换会直接覆盖原文件,建议先对重要图片**备份** - 图片的 **文件名和扩展名完全不变**,只是文件内部数据转为 WebP 格式 - 支持的输入格式:`.jpg` `.jpeg` `.png` `.bmp` `.tiff` `.tif` `.gif` - 已转为 WebP 的图片不会被重复处理(根据扩展名判断) - 如果程序中途崩溃,最多残留一个 `.webp_tmp` 临时文件,手动删除即可 ## 文件结构 ``` convert2webp/ ├── batch_convert_to_webp.py # 主脚本 ├── requirements.txt # Python 依赖 └── README.md # 本帮助文档 ```