python批量压缩文件夹内图片文件到指定大小代码
代码语言:python
所属分类:其他
代码描述:python批量压缩文件夹内图片文件到指定大小代码,可指定文件压缩的大小,批量压缩目录及子目录下所有图片文件。
代码标签: python 批量 压缩 文件夹 图片 文件 指定 大小 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import os from PIL import Image def ensure_dir(directory): """确保目录存在,如果不存在则创建该目录""" if not os.path.exists(directory): os.makedirs(directory) def compress_image_to_size(input_path, output_path, max_size_kb, quality_step=5): quality = 90 img = Image.open(input_path) original_mode = img.mode if original_mode == 'RGBA' or original_mode == 'P' or original_mode == 'LA': img = img.convert('RGBA') # 从P转换为RGBA,确保透明度被保持 img.save(output_path, 'PNG', optimize=True) # 保存为PNG,因为JPEG不支持透明度 else: # 仅非透明度图片保存为JPEG while quality > 0: img.save(output_path, 'JPEG', quality=quality) if os.path.getsize(output_path) <= max_size_kb * 1024: break else: quality -= quality_step if quality == 0 and os.path.getsize(output_path) > max_size_kb * 1024: print(f"Warning: Could not compress image to be under {max_size_kb}KB at reasonable quality.") else: print(f"Image com.........完整代码请登录后点击上方下载按钮下载查看
网友评论0