【问题标题】:How Return EXIF tags using PyExifTool如何使用 PyExifTool 返回 EXIF 标签
【发布时间】:2017-07-12 04:58:20
【问题描述】:

我无法弄清楚如何使用PyExifTool 从原始照片中提取 EXIF 标记。我要做的就是提取照片的创建日期,并用该日期重命名项目文件夹。我尝试了各种方法,但总是收到一系列以“ValueError(”No JSON object could be decoded”)结尾的错误。

喜欢:

    import exiftool
    files = "CRW_1368.CRW"

    with exiftool.ExifTool() as et:
        metadata = et.get_tag(DateTimeOriginal, files)

    print execute_json(metadata)

我不清楚如何正确设置它。我对脚本比较陌生。

感谢您的帮助!

【问题讨论】:

  • 这个问题不符合 StackOverflow 的指导方针。 Nothing seems to work 没有正确描述问题。怎么了?您收到什么错误代码?由于这是一个可以挽救的问题,我目前不会投票关闭它。但请务必快速编辑,否则其他人会关闭此问题。

标签: python exif


【解决方案1】:

首先,您必须确保标签存在。在我的测试中,没有DateTimeOriginal 标签,所以我必须选择一个实际上在我的文件中的标签。我选择了“创建日期”。我得到了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?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多