#第 0005 题: 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。 from PIL import Image import os import math #将符合分辨率的图片和修改不符合后的图片放在一个新的文件中 #改变不符合要求的图片 def change_size(pics): for pic in pics: new_pic='new_'+pic img=Image.open('./pics/'+pic) w,h=img.size print(w,h) if w>600 or h>800: a=w/600 b=h/800 c=math.ceil(max(a,b)) (new_w,new_h)=(int(w/c),int(h/c)) new_img=img.resize((new_w,new_h),Image.ANTIALIAS) new_img.save('./pics/new/'+new_pic) else: new_img.save('./pics/new/' + pic) img.close() #得到文件后缀,如果文件中有非图片可以用这个后缀来做一个判断 def check_pics(pics): suf = [] for pic in pics: suffix = pic.split('.')[-1] suf.append(suffix) print(suf) if __name__ == '__main__': cwd=os.getcwd() pics=os.listdir('./pics') print(pics) os.mkdir('./pics/new') #放处理后的图片 check_pics(pics) change_size(pics) #Q1:如何防止重复修改?多次执行会导致多余的文件。
每天一python 题 0005
最新推荐文章于 2020-12-22 21:07:28 发布