compress p_w_picpaths 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)    #计算列表长度