国庆出去玩,拍了一些相片,要寄给别人。打开文件夹一看,200M,不知道要传到什么时候,所以必须的缩小一些。一两张还可以用ps改改,100多张?!
花了5分钟写了一段程序来处理,立即搞定,前提是计算机上要装有python和Python Imaging Library (PIL) 。程序很简单
1from os.path import isdir,join,basename
2from os import mkdir
3import glob
4import Image
5
6def write_file(dir,filter,rate):
7 save_path=join(dir,'thumb')
8 if not isdir(save_path):
9 mkdir(save_path)
10 files =glob.glob(join(dir,filter))
11 for f in files:
12 im = Image.open(f)
13 new_size=[(int(x*rate)) for x in im.size]
14 small = im.resize(new_size,Image.ANTIALIAS)
15 save_name=join(save_path,'thumb_'+basename(f))
16 small.save(save_name,'JPEG')
17 print '%s Saved' % save_name
18 print 'Total%d Done' % len(files)
19
20if __name__ == "__main__":
21 write_file('F:\\xian','*.jpg',0.35)
2from os import mkdir
3import glob
4import Image
5
6def write_file(dir,filter,rate):
7 save_path=join(dir,'thumb')
8 if not isdir(save_path):
9 mkdir(save_path)
10 files =glob.glob(join(dir,filter))
11 for f in files:
12 im = Image.open(f)
13 new_size=[(int(x*rate)) for x in im.size]
14 small = im.resize(new_size,Image.ANTIALIAS)
15 save_name=join(save_path,'thumb_'+basename(f))
16 small.save(save_name,'JPEG')
17 print '%s Saved' % save_name
18 print 'Total%d Done' % len(files)
19
20if __name__ == "__main__":
21 write_file('F:\\xian','*.jpg',0.35)