python批量将多个嵌套文件夹中的png转为jpg
时间: 2024-09-19 18:11:31 浏览: 44
python读取多层嵌套文件夹中的文件实例
在Python中,你可以使用`PIL`(Python Imaging Library)库或者其更现代的替代品`Pillow`来批量转换PNG图像为JPG。这里提供一个简单示例,展示如何遍历嵌套文件夹并将所有PNG文件转换为JPG:
首先,确保安装了`Pillow`库,如果没有可以使用以下命令安装:
```bash
pip install pillow
```
然后编写一个脚本,如下面所示:
```python
from PIL import Image
import os
def convert_images(input_folder, output_folder):
# 验证输入输出路径是否存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for root, dirs, files in os.walk(input_folder):
for file in files:
if file.endswith(".png"):
png_file = os.path.join(root, file)
jpg_file = os.path.join(output_folder, file.replace(".png", ".jpg"))
try:
with Image.open(png_file) as img:
img.convert("RGB").save(jpg_file, "JPEG")
print(f"Converted {png_file} to {jpg_file}")
except Exception as e:
print(f"Error converting {png_file}: {e}")
# 使用函数,替换'input_folder'和'output_folder'为你需要处理的目录路径
convert_images('input_folder', 'output_folder')
```
在这个脚本里,我们首先检查输出目录是否存在,如果不存在则创建。然后通过递归遍历指定的输入文件夹及其子文件夹,查找所有的.png文件。对于每个找到的PNG文件,尝试打开它,将其转换为RGB模式(如果需要),保存为JPG并记录转换过程。
阅读全文