1. 问题描述

随着网页设计越来越注重速度和性能,选择合适的图片格式以及优化图片成为了一个不可忽视的问题。WebP 格式因其高效的压缩算法和良好的图像质量而受到开发者的欢迎。但是,将现有的 JPEG 和 PNG 图片转换为 WebP 格式可能会比较麻烦。因此,我们可以编写一个简单的 Python 脚本来批量处理这些图片。

2. 代码解析

下面是一个 Python 脚本,该脚本使用 os 和 PIL 库来将指定文件夹中的 JPEG 和 PNG 图片转换为 WebP 格式。

import os
from PIL import Image

def convert_to_webp(input_folder, output_folder):
# 创建输出文件夹
if not os.path.exists(output_folder):
os.makedirs(output_folder)

# 遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):
if filename.endswith('.jpg') or filename.endswith('.png'):
# 打开图像文件
with Image.open(os.path.join(input_folder, filename)) as img:
# 生成输出文件路径
output_path = os.path.join(output_folder, os.path.splitext(filename)[0] + '.webp')
# 将图像转换为 WebP 格式并保存
img.save(output_path, 'WEBP')

if __name__ == "__main__":
input_folder = "source/images" # 输入文件夹路径
output_folder = "source/images" # 输出文件夹路径
convert_to_webp(input_folder, output_folder)

代码功能解析:

  • convert_to_webp(input_folder, output_folder): 这是主函数,接受输入文件夹路径和输出文件夹路径作为参数。
  • os.makedirs(output_folder): 如果输出文件夹不存在,则创建它。
  • os.listdir(input_folder): 遍历输入文件夹中的所有文件。
  • Image.open(os.path.join(input_folder, filename)): 打开图片文件。
  • os.path.splitext(filename)[0] + '.webp': 生成输出文件的路径。
  • img.save(output_path, 'WEBP'): 将打开的图片转换为 WebP 格式并保存到输出文件夹。

3. 使用方法

要使用这个脚本,您需要首先安装 PIL 库。您可以使用以下命令进行安装:

pip install pillow

然后,将上述代码保存为一个 Python 文件(例如 convert_to_webp.py),并将需要转换的图片放入 source/images 文件夹中。运行脚本后,source/images 文件夹中的所有 JPEG 和 PNG 图片都将被转换为 WebP 格式。

4. 总结

通过使用 Python 和 PIL 库,我们可以轻松地将 JPEG 和 PNG 图片转换为 WebP 格式,从而优化网站的性能和加载速度。这个简单的脚本为开发者提供了一个方便的工具,帮助他们更有效地管理和优化网站图片。