用 Python 批量校验图片尺寸与文件命名规范的实用做法
【摘要】 最近整理一批活动海报和产品图时,踩过一个很实在的坑:图片本身没有问题,但尺寸和文件名一乱,后续排版、上传和检索全都跟着出错。后来我固定用一套 Python 脚本先跑一遍校验,不合格的直接列出来改,省了不少返工。我的做法分三步。第一步是定规则,写进脚本而不是只记在文档中。比如主图宽高必须是 1200×800,详情图最短边不低于 800,文件只能是 jpg、png、webp,文件名只允许小写字母...
最近整理一批活动海报和产品图时,踩过一个很实在的坑:图片本身没有问题,但尺寸和文件名一乱,后续排版、上传和检索全都跟着出错。后来我固定用一套 Python 脚本先跑一遍校验,不合格的直接列出来改,省了不少返工。
我的做法分三步。第一步是定规则,写进脚本而不是只记在文档中。比如主图宽高必须是 1200×800,详情图最短边不低于 800,文件只能是 jpg、png、webp,文件名只允许小写字母、数字、下划线和连字符,形如 20261102_banner_main_01.jpg。规则写死在字典里,换一批图只要改数值。
第二步是读真实信息,不要只看文件后缀。用 Pillow 的 Image.open 读取图片的真实宽高,再用 os.path.getsize 看文件大小;遇到损坏文件会直接抛异常,正好筛出来。命名用正则 ^[a-z0-9_-]+.(jpg|png|webp)$ 校验,中文、空格、大写后缀和多余的点都能筛出来。
第三步是出报告。脚本按文件夹递归扫描,把尺寸不符、命名不符、文件损坏和疑似重复分成四类,写进一个 CSV,包含路径、实际尺寸、期望尺寸和问题描述。改完再跑一遍,直到报告为空才算通过。正式跑之前,先在副本上试一遍,不要直接覆盖原图。
这套做法最大的好处是可复用、可交接。新同事接手时,不用逐张打开图片核对,看报告就知道哪些图没过关、期望尺寸是多少。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)