python练习册之六

来源:互联网 发布:国内导航数据生产商 编辑:程序博客网 时间:2024/05/04 04:59

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

————————————————————————————————————————————————————————————

这是什么意思?第一眼看不懂?又是操作图片的?

百度了一下:

     思路:遍历给出目录下的图片,把大于iPhone5分辨率的图片都进行缩放。使用Python的PIL库对图片进行处理,IPhone5屏幕分辨率为640 × 1136,将大于该分辨率的图片按照一定比例缩放至适合大小并保存。

——————————————————————————————————————————————————————

好吧。试试:


from PIL import Imageimport re import os# 源目录mypath = r'G:/python/picture/'# 输出目录outpath = r'G:/python/picture2/'def resizedpicture(plist,mypath,outpath,size):    '''    outpath是存放输出转换后图片的目录    name是文件名    imgtype是文件类型size是缩放大小    '''    for i in plist:#打开文件,需要添加路径名        im=Image.open(mypath+i).convert('RGB')        out = im.resize(size)         proname= os.path.splitext(i)[0]        outname=outpath+i        out.save(outname, 'jpeg')    print('done!')#批量获得文件名def openpicfile(filesource):    plist=[]#获取所有文件和目录    for x in os.listdir(filesource):        fullname=os.path.join(mypath,x)#选择图片文件,isfile()方法需要完整路径        if os.path.isfile(fullname) and os.path.splitext(x)[1]=='.jpg':            plist.append(x)    print(plist)    return plist    if __name__ == '__main__':        plist=openpicfile(mypath)    resizedpicture(plist,mypath,outpath,(640,1136))

——————————————————————————————————————————

虽然题目很基础,但是我的基础很差。不行啊。学完就忘了。还有就是代码命名风格太差了。实在没有观赏性。需要改进!做一道题需要一个多小时。太慢了

0 0
原创粉丝点击