pilのimage.saveってフォーマットによって引数が変わるのです

match im.format:
__case 'JPEG':
____im.save(path, quality=85, subsampling=0)

__case 'PNG':
____im.save(path, optimize=Trur)

__case 'WEBP':
____im.save(path, quality=80, lossless=True)
...

いまはこういうふうにゴリゴリ書いてるんですが
フォーマットが増えると読み書きしんどいです
なんかうまい書き方ないですか

im.save(path, *save_options(im.format))
みたいな。わからんけども