使用Python os模块保存PNG图片至指定文件夹无效果问题求助
问题分析与解决
你的代码问题出在这几个地方:
- 调用
save()时直接把图片存在了当前目录的b.png,后面用os.path.join生成的目标路径根本没用到 k=k.save('b.png')完全没必要,save()方法返回的是None,执行完这句后k就变成空值了- 没确认目标文件夹
yame是否存在,如果这个文件夹不存在,直接保存会报错
修正后的代码应该是这样:
import os from PIL import Image # 打开原图片 k = Image.open('Screenshot 2022-07-23 210655.png') # 生成目标路径 target_path = os.path.join('yame', 'b.png') # 确保目标文件夹存在 os.makedirs(os.path.dirname(target_path), exist_ok=True) # 保存到目标路径 k.save(target_path)
关键改动说明:
- 先通过
os.path.join生成正确的目标路径,再传给save()方法,图片才会存到yame文件夹里 - 用
os.makedirs加exist_ok=True确保目标文件夹存在,避免因文件夹不存在导致保存失败 - 去掉多余的
k=k.save(),直接调用k.save(target_path)即可
内容的提问来源于stack exchange,提问作者Baraa najjar
相关产品推荐
相关产品推荐

