压缩图片(递归结合pillow)通过改变图片尺寸实现;tinify 需要付费

from PIL import Image
from PIL import ImageFile #代码五分钟,解决报错两小时(这两句不能丢)
ImageFile.LOAD_TRUNCATED_IMAGES = True #
import os
def get_size(path):
name_list=os.listdir(path)
for name in name_list:
abs_path=os.path.join(path,name)
if os.path.isfile(abs_path):
size=os.path.getsize(abs_path)
if size/1024/1024 >=1:
print(f'文件:{abs_path}、大小:{size/1024/1024}M')
while size / 1024 / 1024 > 10:
im = Image.open(abs_path)
w, h = im.size
im = im.resize((round(w *0.9), round(h*0.9)), Image.ANTIALIAS)
im.save(abs_path)
size=os.path.getsize(abs_path)
elif os.path.isdir(abs_path):
get_size(abs_path)
ret=get_size(r"D:tzthdy")