我想创建一个使用exifread搜索JPG文件元数据的函数,从Image DateTime
标记中选择最早的日期并打印出来。这是我到目前为止的代码(不多:D):
def GetExifTagsForFile(filename):
file = open(filename,'rb')
tags = exifread.process_file(file)
通常,我会进一步创建一个列表,在其中添加所有日期,然后使用min
选择最早的日期。但是,在这里,我尝试使用IfdTag
进行操作,而这种解决方案无效。 IfdTag
的编码为%Y:%m:%d %H:%M:%S
。我还尝试使用datetime
将标记格式更改为strdtime
,但此解决方案仅适用于字符串。您对如何解决我的问题有任何建议吗?
答案 0 :(得分:0)
正如@SiHa所指出的,这取决于你的标签是如何编码的。我认为它应该是"YYYY:MM:DD HH:MM:SS"
。在这种情况下,首先将您的代码带到字符串,然后带到日期时间格式,您可以使用min()
:
from datetime import datetime
datetime_objects = [datetime.strptime(str(t['IfdTag'].values), '%Y:%m:%d %H:%M:%S') for t in tag_list]
min(datetime_objects)