フォルダ内の画像のExif情報を一括削除する
import os
import shutil
from PIL import Image
BEFORE_DIR = './Exif情報を削除する画像フォルダ'
RESULT_DIR = './Exif情報を削除した画像フォルダ'
for filename in os.listdir(BEFORE_DIR):
#print(os.path.splitext(filename)[0])
#print(os.path.splitext(filename)[0] + '_noexif' + os.path.splitext(filename)[1])
# 新しいファイル名(_noexif)とつける
result_filename = os.path.splitext(filename)[0] + '_noexif' + os.path.splitext(filename)[1]
# ファイル名を変更しない場合はこっち
#result_filename = filename
img = Image.open(os.path.join(BEFORE_DIR, filename))
data = img.getdata()
mode = img.mode
size = img.size
new_img = Image.new(mode, size)
new_img.putdata(data)
new_img.save(os.path.join(RESULT_DIR, result_filename))
# フォルダの移動をつかうならこれ
#print(shutil.move(result_filename, RESULT_DIR))
フォルダ内の画像のExif情報をすべて出力
こちらサイト様のコードのclass ExifImage
を用いればフォルダ内の画像のExif情報を一括で出力できます。
参考 Pythonで、写真データからExif情報を参照したり、削除するBOKUのITな日常
import os
from PIL import Image
import PIL.ExifTags as ExifTags
class ExifImage: #略
BEFORE_DIR = './Exif情報を削除する画像フォルダ'
RESULT_DIR = './Exif情報を削除した画像フォルダ'
#DIR = BEFORE_DIR
DIR = RESULT_DIR
for filename in os.listdir(DIR):
image = ExifImage(os.path.join(DIR, filename))
print(f'filename: {filename}')
image.print()
#print(image.get_gps())
print()
削除できたかはこれで確認すると楽です。