使用PyExifTool 0.5.4(python中的exiftool)重命名图像文件



我正在尝试使用PyExifTool 0.5.4使用exiftool重命名python脚本中的jpg文件。我可以更改标记,例如DateTimeOriginal,但当我尝试使用标记重命名文件时,我无法获得文件名的正确格式。

with exiftool.ExifToolHelper() as et:
et.execute('-d %Y-%m.%%e', '-filename<DateTimeOriginal', os.path.join(subdir, file))

当从python调用时,此代码似乎忽略了-d给定的格式,并简单地将文件重命名为DateTimeOriginal标记的内容,例如2021:12:25 16:26:37。当我在没有'-d %Y-%m.%%e'的终端中运行它时,会产生相同的结果

从终端运行命令,例如exiftool -d %Y%m.%%e '-filename<DateTimeOriginal' b.jpg,按预期使用YYYYmm重命名文件。

dropf,您对execute()的调用不正确。参数'-d %Y-%m.%%e'需要是与ExifToolHelper.execute()不同的两个参数

with exiftool.ExifToolHelper() as et:
et.execute('-d', '%Y-%m.%%e', '-filename<DateTimeOriginal', os.path.join(subdir, file))

这就是execute()的工作方式。如果在exiftool的命令行中有一个未加引号的空格,则需要将其作为另一个参数传递。

仅供参考:如果你有其他问题,你也可以在PyExifTool GitHub页面上发布问题

最新更新