0%

Python练习册:0005

题目

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

分析

这里需要用OS模块中的一些函数对文件和目录进行操作,然后使用PIL库对图片进行调整,注意路径问题。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import os
from PIL import Image

def resize(img_dir,MAX_RESIZE,out_dir):
try:
for file in os.listdir(img_dir):

#读取文件
img_file = os.path.join(img_dir,file)
img = Image.open(img_file)

#调整大小
out = img.resize(MAX_RESIZE)

#如果out文件夹不存在则新建一个
if not os.path.exists(out_dir):
os.mkdir(out_dir)

#保存结果
out_img = os.path.join(out_dir,file)
out.save(out_img)

except Exception as e:
print("操作失败!",e)

if __name__ == '__main__':
img_dir = 'img'
out_dir = 'out'
MAX_RESIZE = (640,1130)
resize(img_dir,MAX_RESIZE,out_dir)

参考

欢迎关注我的其它发布渠道