Exif 是一种图像文件格式,它的数据存储与 JPEG 格式是完全相同的。实际上 Exif 格式就是在 JPEG 格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、缩略图等。

——百度百科

可见一张照片所包含的信息是非常丰富的,比如利用其中的 GPS 信息,可知道你拍照时的精确位置

所以在网络上分享的时候,如果不想隐私被暴露,需要删除照片的 Exif 信息

利用 Python 来删除照片的 Exif 信息

需要用到处理 Exif 信息的库 Piexif: https://github.com/hMatoba/Piexif

还需要用到图形处理库 Pillow: https://github.com/python-pillow/Pillow, 来判断图片是否为 JPEG 格式
其实 Python 有一个内置模块 imghdr 可用来判断图片类型,但是在我使用过程中,我发现有时候会不准确,所以我改用 Pillow 来做判断

代码见:https://github.com/lifenod/remove-image-exif

使用

  1. 安装依赖的库

    pip install piexif
    pip install Pillow
    
  2. 添加可执行权限

    chmod +x ./remove-exif.py
    
  3. 使用

    ./remove-exif.py name.jpg
    ./remove-exif.py *.jpg