You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python批量处理repaired文件夹JPEG图片并覆盖原文件

批量处理repaired文件夹JPEG文件的修改脚本

核心修改点

  • 新增os模块做目录遍历,自动识别目录下所有JPEG格式文件(兼容.jpg/.jpeg及大小写变体后缀)
  • 修复原脚本的逻辑bug:原脚本中锐化、色彩增强的效果变量未回写到图片对象,实际处理时这两个步骤未生效
  • 移除单文件硬编码路径,所有文件处理完成后直接按原文件名写入原路径,实现覆盖保存

完整可运行代码

import os
from PIL import Image, ImageOps, ImageEnhance

# 定义要处理的目标文件夹
TARGET_DIR = "repaired"
# 支持的JPEG文件后缀
JPEG_SUFFIX = (".jpg", ".jpeg", ".JPG", ".JPEG")

def process_single_image(img_path):
    """处理单张JPEG图片的逻辑"""
    # 打开图片
    im = Image.open(img_path)
    # 裁掉17像素边框
    im = ImageOps.crop(im, border=17)
    # 自动对比度调整
    im = ImageOps.autocontrast(im, cutoff=1)
    # 锐度增强
    im = ImageEnhance.Sharpness(im).enhance(3)
    # 色调分离
    im = ImageOps.posterize(im, bits=8)
    # 色彩增强
    im = ImageEnhance.Color(im).enhance(3)
    # 最高质量保存,覆盖原文件
    im.save(img_path, quality="maximum")
    print(f"已处理完成: {img_path}")

if __name__ == "__main__":
    # 遍历目标目录下所有文件
    for filename in os.listdir(TARGET_DIR):
        # 筛选JPEG格式文件
        if filename.endswith(JPEG_SUFFIX):
            full_path = os.path.join(TARGET_DIR, filename)
            # 跳过子目录,只处理文件
            if os.path.isfile(full_path):
                process_single_image(full_path)
    print("所有JPEG文件处理完成")

注意事项

  • 运行脚本前请先备份repaired文件夹内的原始文件,处理后覆盖原文件无法自动回滚
  • 脚本会自动跳过目录下的子文件夹、非JPEG格式文件,不会误修改其他内容
  • 若你的JPEG文件有其他大小写后缀(比如.Jpe),可以自行加到JPEG_SUFFIX元组中即可识别

内容的提问来源于stack exchange,提问作者Hanalog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 10:39:20