【Python】Pillow 複数の写真のExif情報を一括で削除する方法

Python備忘録。内容は初心者向けです。

今回の内容

  • 複数の写真のExif情報を一括で削除する



使用するのはPillow

使用するのは、画像処理ライブラリのPillow(PIL)です。ここではPillowがインストールされているのを前提として書き進めていきます。

Pillowの公式ドキュメントはこちらから(英語です。)

サンプルコード


from PIL import Image
import glob

img_files = glob.glob('*.jpg')

for file_name in img_files:

   with Image.open(file_name) as src:
    data = src.getdata()
    mode = src.mode
    size = src.size
    
   with Image.new(mode, size) as dst:
    dst.putdata(data)
    dst.save('exif_delete_'+str(file_name))

コメント

  • 「glob.glob(‘*.jpg’)」でjpgファイルを全て取得
  • 「with Image.open(file_name) as src: 〜」でExif情報を取得
  • 「with Image.new(mode, size) as dst: 〜」でファイル書き出し

これでファイルのExif情報の削除を一括で処理できました。フォルダに入っている全てのjpgファイルが自動処理されます。

※ファイルパスは指定していないので、プログラムと同じフォルダにjpgファイルを入れておく必要があります。

今回使ったwith文とは、ファイルの読み書きによく使用されるもので、close処理が省略できたり、プログラムを簡潔にすることができます。

with構文の基本形
with ①開始処理 as ②変数
   ③処理