每天一个小程序—0005题(批量处理图片大小)

第 0005 题: 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

 

这个需要用到os模块,os模块的功能就是可以遍历目录和文件。

介绍一下我下面代码中用到的两个方法:
① os.walk()

这个方法会返回一个3元元组,(文件夹所在目录,文件夹下的所有文件夹,文件夹下的所有文件)

②os.path.splitext()

这个方法会拆分文件名和后缀名,返回一个2元元组,(文件名, 后缀名)

 

简单起见,我只是把所有图片的大小都改成了100*100。

 1 #!/usr/bin/env python
 2 
 3 import os
 4 from PIL import Image
 5 
 6 path = 'D:/python/project/爬虫结果/'
 7 savepath = 'D:/python/project/处理结果/'
 8 
 9 def change_pic_size():
10     for pic in os.walk(path):
11         pic_list = (pic[2])
12     for pic in pic_list:
13         postfix = os.path.splitext(pic)[1]
14         if postfix == '.jpeg' or postfix == '.jpg' or postfix == 'png':
15             im = Image.open(path + pic)
16             new_im = im.resize((100, 100))
17             new_im.save(savepath + 'changed_'+ pic)
18 
19 if __name__ == '__main__':
20     change_pic_size()

 

posted @ 2018-01-25 10:12  Kayden_Cheung  阅读(324)  评论(0编辑  收藏  举报
//目录