提问人:Rex Kartik 提问时间:11/9/2023 更新时间:11/9/2023 访问量:24
Image.save 给出 AttributeError:“NoneType”对象没有属性“save”错误
Image.save giving AttributeError: 'NoneType' object has no attribute 'save'error
问:
我的代码在保存图像时出现错误
以下是我的代码:
import sys
from PIL import Image, ImageOps
import os
import PIL
#suppurted formet
spfr = [".jpeg", ".jpg", ".png"]
#check CLA
if len(sys.argv) < 3:
sys.exit("Too few command-line arguments")
elif len(sys.argv) > 3:
sys.exit("Too many command-line arguments")
elif os.path.splitext(sys.argv[1])[1] != os.path.splitext(sys.argv[2])[1]:
sys.exit("Not same extension")
elif os.path.splitext(sys.argv[1])[1] not in spfr:
sys.exit("Not a image")
#open image
try:
shirt = Image.open("shirt.png")
old = Image.open(sys.argv[1])
except FileNotFoundError or PIL.UnidentifiedImageError:
sys.exit()
shirt_size = shirt.size
old = ImageOps.fit(old, shirt_size)
new = old.paste(shirt, shirt)
new.save(sys.argv[2])
它给了我以下错误:
Traceback (most recent call last):
File "/workspaces/116355975/Python/shirt/shirt.py", line 32, in <module>
new.save(
^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'save'
我该怎么办
我正在加速它将图像保存到新文件
答:
0赞
Rex Kartik
11/9/2023
#1
我已经通过删除“new”变量并且不分配给任何内容并将 new 更改为 old 来解决它ǫld.paste(shirt, shirt)
new.save(sys.argv[2])
评论
paste
None
except FileNotFoundError or PIL.UnidentifiedImageError
这不是捕获多个异常的正确方法。使用逗号代替 .你写它的方式永远不会发现第二个异常。or