Jon*_*han 4 python shotwell photo-management
我最近在 Shotwell 中给了大约 200 张照片的数字标题,描述了它们的序列 - 001、002 等。但我希望这个序列的文件名也相同,这样当我在 Nautilus 中打开文件夹时照片按顺序列出。我认为 Shotwell 将标题保存在 exif 数据中的某个位置。事实上,我最终使用 Gnome 图像查看器在 XMP Other 和 Photoshop:Headline 下找到了它。我想要的是一种阅读这些 Shotwell 标题并将其用作文件名的方法。如果我知道如何访问该元数据,我可能可以使用 Python 来完成此操作。
小智 5
由于没有其他答案显示如何实际重命名带有添加的标题的照片Shotwell
,因此这里有一种使用 bash 编写脚本的快速方法,正如您在评论中所说,您已经有了 python 替代方案。很可能还有其他方法可以做到这一点,但这个方法可能对某人有用。
由于您已经为图片指定了标题Shotwell
并将其导出,并找出了Shotwell
添加的元数据的存储位置,因此将脚本放在一起相对简单。
请安装libimage-exiftool-perl
,因为该脚本是必需的。
exiftool -a G1 -s pic.jpg
,您可以看到图片中嵌入的所有元数据类型和标签,以及Shotwell
元数据的放置位置:[XMP-photoshop] Headline : 002
[XMP-dc] Title : 002
[IPTC] Caption-Abstract : 002
[IPTC] Headline : 002
[IPTC] OriginatingProgram : Shotwell
[IPTC] ProgramVersion : 0.13.1+trunk
Run Code Online (Sandbox Code Playgroud)
XMP-photoshop
可以在我们的脚本中使用 或 IPTC 标签exiftool
来显示元数据(然后使用结果值来重命名文件)。输入exiftool -IPTC:headline pic.jpg
结果于
Headline : 002
Run Code Online (Sandbox Code Playgroud)
这可以被解析并awk
作为变量反馈来重命名文件:
mv -i "$i" "$(exiftool -IPTC:headline -s3 "$i").jpg"
Run Code Online (Sandbox Code Playgroud)
#!/bin/bash
for i in *.jpg; do
mv -i "$i" "$(exiftool -IPTC:headline -s3 "$i").jpg"
done
Run Code Online (Sandbox Code Playgroud)
因此,现在您的所有文件都已用其Shotwell
标题重命名,正如我们在检查文件时所看到的那样exiftool -a -G1 -s pic.jpg
:
ExifTool Version Number : 9.12
File Name : 002.jpg
Run Code Online (Sandbox Code Playgroud)
笔记:
exiftool 的存储库版本很好,但相当旧,因此如果您需要各种新功能和错误修复的支持,请参阅官方网站以了解如何构建和安装更新的版本。
脚本保留所有元数据不变,因为只有实际文件本身被重命名。
显然,只有当您的图片具有嵌入 Shotwell 创建的标题时,该脚本才有效,但它可以用于其他目的。
有关更多一般信息,请参阅man exiftool
或Ubuntu 在线联机帮助页。
归档时间: |
|
查看次数: |
2189 次 |
最近记录: |