[Python3]pillow で Jpeg 画像を保存すると KeyError: 'JPG' が発生する

save メソッドの第二引数(format)に 'JPG' を指定すると発生します。

エラー例

img.save('test.jpg', 'JPG', quality=80, optimize=True)

解決方法 1

Jpeg 形式で保存したい場合は 'JPG' ではなく、 'jpeg' を指定します。
img.save('test.jpg', 'jpeg', quality=80, optimize=True)

解決方法 2

None を指定し、省略することもできます。省略した場合、画像の種類は第一引数で渡したファイル名の拡張子を元に決定されます。第一引数に stream を渡した場合、 None は使用できません。
img.save('test.jpg', None, quality=80, optimize=True)
img.save('test.jpg')

検証環境

関連ページ