compress images according to google suggestion.
1.环境:ubuntu12.04 、 python 2.7.3
2.工具:optipng 、jpegoptim。
3.安装工具:a. sudo apt-get install optipng
b. sudo apt-get install jpegoptim
4. a. 使用方法: optipng /filepath/filename.png.
一个例子: optipng /home/pwprice/work/projects/myblog/static/img/myblog.png
b. 使用方法: jpegoptim /filepath/filename.jpg
一个例子: jpegoptim /home/pwprice/work/projects/myblog/static/img/myblog.jpg
5.完整的实现:压缩本地某个文件夹下所有.png和.jpg格式的图片
import os
listpic = [] #全局变量,存放符合要求的图片
def getallpic(path):
for name in os.listdir(path):
fullname = os.path.join(path, name)
if os.path.isdir(fullname): #判断是否为文件夹
getallpic(fullname) #递归遍历文件
elif os.path.isfile(fullname): #判断是否是文件
filename, ext = os.path.splitext(fullname) #获取扩展名
try :
if ext.lower() == '.png':
listpic.append(fullname)
print os.system('optipng '+ fullname) #使用optipng
elif ext.lower() == '.jpg':
listpic.append(fullname)
print os.system('jpegoptim '+ fullname) #使用jpegoptim
else :
pass
except Exception, e:
print 'can not compress this picture ' + e
else :
print
return listpic
if __name__ == '__main__':
path = '/home/pwprice/work/static/'
li = getallpic(path)
print li #打印出所有符合要求的图片
print len(li) #计算列表长度