# -*- coding:utf-8 -*-
from PIL import Image
import os
linesep = os.linesep
sep = os.sep
rootpath = "D:\\Go\\image"
def compress(start_dir):
start_dir = start_dir.strip() # 删除行尾
extend_name = ['.jpg','.png','.gif','.PNG','.jpeg','.JPG','.JPEG', '.SVG', '.svg'] # 查找的文件类型
os.chdir(start_dir)
for each_file in os.listdir(os.curdir):
curfile = os.getcwd() + sep + each_file
img_prop = os.path.splitext(each_file)
if img_prop[1] in extend_name:
try:
im = Image.open(curfile)
except:
with open(rootpath + "/process.err.log", "a") as f:
f.write(curfile + " open error" + linesep)
else:
try:
im.save(img_prop[0] + "_new" + img_prop[1], quality=60, optimize=True)
except:
im.close()
with open(rootpath + "/process.err.log", "a") as f:
f.write(curfile + " save error" + linesep)
if os.path.isdir(curfile):
compress(curfile)
os.chdir(os.pardir)
print("processing " + start_dir)
if __name__ == '__main__':
sdir = rootpath
compress(sdir)
一键复制
编辑
Web IDE
原始数据
按行查看
历史