要使用Python PIL对指定文件夹中的所有图片进行修改,可按以下步骤操作:
1. 安装PIL库
在命令行或终端中输入以下命令安装PIL库:
pip install Pillow
2. 导入PIL库以及其他必要的库
在Python文件的开头,导入PIL库以及其他必要的库:
from PIL import Image
import os
3. 遍历文件夹内的所有图片
使用for循环遍历文件夹内的所有图片,并打开每个图片:
folder_path = '/path/to/folder/' # 文件夹路径
for filename in os.listdir(folder_path):
if filename.endswith('.jpg') or filename.endswith('.png'): # 只处理jpg和png格式的图片
img_path = os.path.join(folder_path, filename) # 图片路径
img = Image.open(img_path) # 打开图片
4. 修改图片
按需求修改图片,例如修改尺寸:
new_size = (800, 600) # 新的尺寸
img = img.resize(new_size) # 修改尺寸
5. 保存修改后的图片
使用save()方法保存修改后的图片,要注意保存的文件名不能与原文件重名:
new_filename = 'new_' + filename # 新的文件名
new_img_path = os.path.join(folder_path, new_filename) # 新的图片路径
img.save(new_img_path) # 保存修改后的图片
示例说明:
示例1:批量修改图片尺寸
假设要将一个文件夹内的所有图片都修改为宽度为800像素,高度为600像素,可按以下步骤操作:
from PIL import Image
import os
folder_path = '/path/to/folder/' # 文件夹路径
new_size = (800, 600) # 新的尺寸
for filename in os.listdir(folder_path):
if filename.endswith('.jpg') or filename.endswith('.png'): # 只处理jpg和png格式的图片
img_path = os.path.join(folder_path, filename) # 图片路径
img = Image.open(img_path) # 打开图片
img = img.resize(new_size) # 修改尺寸
new_filename = 'new_' + filename # 新的文件名
new_img_path = os.path.join(folder_path, new_filename) # 新的图片路径
img.save(new_img_path) # 保存修改后的图片
示例2:批量修改图片格式
假设要将一个文件夹内的所有png图片都转换为jpg格式,可按以下步骤操作:
from PIL import Image
import os
folder_path = '/path/to/folder/' # 文件夹路径
for filename in os.listdir(folder_path):
if filename.endswith('.png'): # 只处理png格式的图片
img_path = os.path.join(folder_path, filename) # 图片路径
img = Image.open(img_path) # 打开图片
new_filename = filename.split('.')[0] + '.jpg' # 新的文件名
new_img_path = os.path.join(folder_path, new_filename) # 新的图片路径
img.save(new_img_path) # 保存修改后的图片
os.remove(img_path) # 删除原文件
详见示例说明中的Python代码,可根据需求自行修改。