运行脚本时出现错误:“EXIF DateTimeOriginal”

2024-10-04 11:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要知道图像数据的属性(天、时间、小时、分钟、秒)

import exifread
import os
directoryInput=r"C:\tekstilshiki"
for filename in os.listdir(directoryInput):
    if filename.endswith('.jpg'):
        with open(r"%s\%s" % (directoryInput, "11.jpg"), 'rb') as image: # directory and name bleat
            exif = exifread.process_file(image)
            dt = str(exif['EXIF DateTimeOriginal'])
            # into date and time
            day, dtime = dt.split(" ", 1)
            hour, minute, second = dtime.split(":", 2)

运行脚本时出错

Traceback (most recent call last): File "C:/tekstilshiki/ffd.py", line 8, in dt = str(exif['EXIF DateTimeOriginal']) KeyError: 'EXIF DateTimeOriginal'

我假设标签名不正确

How can I read from all EXIF properties only the key time and the capture dateng


Tags: andinimageimportosdtfilenameexif
1条回答
网友
1楼 · 发布于 2024-10-04 11:22:26

根据从图像中提取的内容,'exif'的每个瞬间可以包含不同的键,因此为了避免“keyrerror”消息,您需要检查“exif”是否包含键“exif DateTimeOriginal”:

import exifread, os

directoryInput=r"C:\tekstilshiki"
for filename in os.listdir(directoryInput):
    if filename.endswith('.jpg'):
        with open(os.path.join(directoryInput, filename), "rb") as image: # Change "11.jpg" to filename variable
            exif = exifread.process_file(image)
            if "DateTimeOriginal" in exif:
                dt = str(exif["EXIF DateTimeOriginal"])
                # into date and time
                day, dtime = dt.split(" ", 1)
                hour, minute, second = dtime.split(":", 2)

附言

虽然你用过操作系统列表目录'为了找到所选目录中的所有文件,在第6行中,您硬编码了同一个文件“11.jpg”。在

相关问题 更多 >