使用PyExifTool 0.5.4重命名图片时-d参数格式失效问题求助
解决PyExifTool调用exiftool重命名时-d参数失效的问题
问题原因
你遇到的问题源于PyExifTool的execute方法参数传递规则和终端shell不同:
- 终端中可以将
-d与格式字符串合并输入,但PyExifTool要求每个命令行选项和对应的参数必须拆分为独立的字符串元素。 - 终端里用
%%e是为了避免shell解析%符号,而Python直接调用exiftool时无需双重转义,使用%e即可。
修正后的代码
with exiftool.ExifToolHelper() as et: et.execute('-d', '%Y-%m.%e', '-filename<DateTimeOriginal', os.path.join(subdir, file))
关键说明
- 拆分
-d和格式字符串为两个独立参数,确保exiftool能正确识别日期格式配置。 - 将
%%e改为%e,%e会被exiftool解析为保留原文件的扩展名,符合你的重命名需求。
内容的提问来源于stack exchange,提问作者dropf
相关产品推荐
相关产品推荐

