# 给缺少元数据的图片添加EXIF信息 (February 2, 2023)

找遍了pillow文档也只找到了`Image.getexif()`可以得到`EXIF`信息，没找到写入`EXIF`信息的方法

我记得以前也找过`imageio`，也没有😞

今天发现 [Piexif](https://piexif.readthedocs.io/) 的写`EXIF`的功能很方便：除了常规的`load`和`dump`，还提供了一个

> `<font style="color:rgb(36, 41, 47);">transplant(filename, filename)</font>`<font style="color:rgb(36, 41, 47);">：Transplant exif from JPEG to JPEG.</font>
>

我觉得这个功能非常有用：尤其当将`jpg`用`guetzli`优化后就会丢失`EXIF`信息，这样一覆写非常方便，甚至不用自己封装了

---

比如我用的 _YOGA Image Optimizer_ 优化图片，会在源文件夹下创建一个`optimized`文件夹，我要遍历`optimized`文件夹下所有文件，在母文件夹中取EXIF覆写过来：

```python
from pathlib import Path
from piexif import transplant

for i in Path("./optimized/").glob("*.jpg"):
    transplant(i.name, str(i))
```