我无法确定如何使用PyExifTool从原始照片中提取EXIF标签。我想要做的就是提取照片创建的日期,并用该日期重命名项目文件夹。我已经尝试了各种各样的事情,我不断得到一系列以“ValueError(”No JSON对象可以解码“)结尾的错误。
喜欢:
import exiftool
files = "CRW_1368.CRW"
with exiftool.ExifTool() as et:
metadata = et.get_tag(DateTimeOriginal, files)
print execute_json(metadata)
我不清楚如何正确设置它。我对脚本编程比较陌生。
感谢您的帮助!
答案 0 :(得分:0)
首先,您必须确保标签存在。在我的测试中,没有DateTimeOriginal
标记,因此我必须选择实际存在于我的文件中的标记。我选择了DateCreated'。我收到了execute_json
未定义的错误。当我将其更改为et.execute_json
时,我能够得到同样的错误。由于您只需要拉一个标签,因此您应该只需打印它。通过快速更改您的打印声明,我得到了预期的日期/时间。
import exiftool
import os, errno
files = file.jpg
with exiftool.ExifTool() as et:
metadata = et.get_tag('DateCreated', files)
print(metadata)
# or, (skipping those two lines) as per your actual question
new_folder = et.get_tag('DateCreated', files)
try:
os.makedirs(new_folder)
except OSError as e:
if e.errno != errno.EEXIST:
raise
在我的情况下,使用print语句,得到了预期的回复 ' 2017:04:25 17:40:42'来自我的档案。
有关目录检查/创建的更新替代方法,请参阅: How can I create a directory if it does not exist?