请ChatGPT帮我生成了一个简单的批量压缩图片的程序,只要做稍微的改动,就可以实际应用了~
from PIL import Image
import os
# 压缩图片函数
def compress_image(infile, outfile, quality=30):
try:
with Image.open(infile) as im:
im.save(outfile, quality=quality)
return True
except:
return False
# 遍历文件夹并压缩图片
def batch_compress_image(input_dir, output_dir):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for root, dirs, files in os.walk(input_dir):
for file in files:
infile = os.path.join(root, file)
outfile = os.path.join(output_dir, file)
if infile.endswith('.jpg') or infile.endswith('.jpeg') or infile.endswith('.png'):
compress_image(infile, outfile)
# 测试
input_dir = r"D:\picfolder" #请放入源图片文件地址
output_dir = r"D:\compressfolder" #请放入储存压缩图片的地址
batch_compress_image(input_dir, output_dir)