可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

Exif最初由日本电子工业发展协会在1996年制定,版本为1.0。1998年,升级到2.1,增加了对音频文件的支持。2002年3月,发表了2.2版。

我们用手机或者相机拍照的时候,会把我们拍照的日期、相机制造商、图像方向等信息存储到exif中,这种信息对于常人来说没多大的用处,但是对于黑客来说,用处极大。曾经有人通过某明星发的微博照片,根据照片中的图像信息、光照投影等定位到其住在北京的小区楼层。

下面代码,可以批量删除照片的EXIF信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# _*_ coding:utf-8 _*_

from PIL import Image
import piexif
import os
import time


def clear_exif(path):
start = time.time()
countNums = 0

for root, dirs, files in os.walk(path):
for name in files:
name.split(".")[-1:][0]
if name.split(".")[-1:][0].lower() in ('jpg', 'jpeg'):
image_file = os.path.join(root, name)
print("{},已经抹去exif信息".format(image_file))
piexif.remove(image_file)
countNums += 1

print("本次程序共清除{}张JPG照片的Exif信息,耗时{:.2f} s".format(
countNums, time.time() - start))


if __name__ == "__main__":
print("欢迎使用EXIF信息清除程序!\n使用规则如下:")
print("1.可以将本程序放在图片目录下点开使用")
print("2.将照片目录手动输入\n")
# 获取当前程序所在的目录
nowDir = str(os.getcwd())
photoDir = input("手动输入照片目录:") or nowDir
# 启动清除Exif信息函数

clear_exif(photoDir)