在一线有很多不必要或者重复的工作,为了把时间用到更有用的地方,我们可以编写程序实现任务的自动化。
任务描述
给定一个文件夹,其中有大量图片(没有子文件夹)需要做的是:
- 得到所有图片的缩略图
- 把原图文件名和缩略图文件名对应的放到excel表中
图片处理
在前面两篇文章里,我们已经学习了用内置库os
提供的方法遍历该文件夹下所有的图片,并利用pillow
模块提供的类和方法得到所有图片的缩略图,代码如下:
'''
遍历所有图片并生成每张图片的缩略图
'''
from PIL import Image
import os # 导入os模块
# 遍历所有图片
for file in os.listdir():
# 判断图片格式是否为JPG
if file.endswith('JPG'):
# 打开图片
img = Image.open(file)
# 获得图片尺寸
w, h = img.size
# 生成图片的缩略图
# 宽和高都是原来的一半
img.thumbnail((w//2, h//2))
# 保存缩略图
# 文件名也可以是序号
img.save('thumbnail_' + file)
生成excel表格
接下来我们自动生成下图所示的excel文件:
excel文件
读写excel要用到xlrd
和xlwt
库,这两个库的名字分别是xls read和xls write的缩写,这里我们主要用到xlwt文件。
安装xlwt库
我们用pip命令安装第三方库,打开命令行,输入pip install xlwt
等一小会,xlwt库就可以安装完成,安装成功会有提示。
命令行界面
深入了解可以查看xlwt
的文档https://xlwt.readthedocs.org/en/latest/。
生成excel文件
在保专门托管Python第三方库的网站PyPI网站上https://pypi.org/project/xlwt/,给出了一段示例代码:
import xlwt
from datetime import datetime
style0 = xlwt.easyxf('font: name Times New Roman,