
まくまく
プラグラミング言語「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 ②変数
③処理
with ①開始処理 as ②変数
③処理