python练习册0005,python0005, 第 0005 题:


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

本题用了几个os模块的命令,

import osfrom PIL import ImagepathDir = r‘D:\素材‘os.chdir(pathDir) #修改当前工作目录def modify_imgsize():    for filename in get_imglist():        img = Image.open(filename)        if max(img.size) > 1136:            value = max(img.size) / 1136.0            newsize_min = min(img.size) / value            newimg = img.resize((1136, int(newsize_min)), Image.ANTIALIAS)  # 修改大小            newimg.save(‘new_‘ + filename)        else:            print("This picture is availabe:" + filename)def get_imglist():  # 获取照片名称list    img_list = []    list_dir = os.listdir(pathDir)#获取当前工作目录下的所有文件名。    for x in list_dir:        if ‘.jpg‘or ‘‘ in x:            img_list.append(x)        else:            print("This is not a picture: " + x)    return img_listmodify_imgsize()

对get_imglist方法重写了下,用endwith代替 。。。。。in 。。。 更为准确

def get_imglist():  # 获取照片名称list    img_list = []    list_dir = os.listdir(pathDir)    for x in list_dir:        if x.endswith(".jpg"):            img_list.append(x)        else:            print("This is not a picture: " + x)    return img_list

python练习册0005

评论关闭