批量改图片DPI的Python脚本 | 写论文终于不用一张张改了 先说下DPI这事儿很多人搞不清其实改DPI不改变图片本身的像素就是改个打印清晰度标识。简单说72/96dpi屏幕看看还行打印就糊300dpi普通印刷够用600dpi学术论文、学位论文基本都要这个标准所以改DPI不是把小图放大只是告诉打印机这图按高清来印。脚本怎么写的直接上代码我把注释都写清楚了小白也能用。核心部分其实就几行最关键的就是Pillow这个库的save方法给它传dpi参数就行from PIL import Image # 打开图片 with Image.open(你的图片.jpg) as img: # 保存的时候设置DPI img.save(输出.jpg, dpi(600, 600), quality95)就这么简单。JPG的话加个quality95画质损失很小。PNG是无损的直接设dpi就行。完整的批量处理版本我加了遍历文件夹、格式过滤、异常处理这些直接用就行from PIL import Image import os # 这里改路径就行 INPUT_FOLDER r.\input # 把要处理的图放这个文件夹 OUTPUT_FOLDER r.\output # 处理完自动存在这里 TARGET_DPI (600, 600) # 论文就用600不用改 # # 自动创建输出文件夹 os.makedirs(OUTPUT_FOLDER, exist_okTrue) count_ok 0 count_skip 0 print(开始处理...\n) for filename in os.listdir(INPUT_FOLDER): filepath os.path.join(INPUT_FOLDER, filename) # 跳过文件夹 if not os.path.isfile(filepath): continue # 只处理图片 ext os.path.splitext(filename)[1].lower() if ext not in (.png, .jpg, .jpeg): count_skip 1 print(f跳过: {filename}) continue try: with Image.open(filepath) as img: params {dpi: TARGET_DPI} # JPG额外加画质参数 if ext in (.jpg, .jpeg): params[quality] 95 params[subsampling] 0 # 保存 img.save(os.path.join(OUTPUT_FOLDER, filename), **params) count_ok 1 print(f完成: {filename}) except Exception as e: count_skip 1 print(f失败: {filename} | {str(e)}) # 最后统计 print(\n -*40) print(f处理完了成功: {count_ok} 张跳过: {count_skip} 个) print(f文件存在这里: {os.path.abspath(OUTPUT_FOLDER)}) print(-*40)怎么用