You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用pyexiftool的-n选项并传递common_args覆盖默认配置?

解决pyexiftool禁用默认-n选项的问题

要让LensID等字段显示人性化可读格式,需要覆盖ExifToolHelper默认的-n参数,具体实现如下:

修改初始化代码

ExifToolHelper的构造函数支持通过common_args参数替换默认的通用参数(默认值为['-n']),直接传入你需要的参数列表即可禁用-n:

import logging
import exiftool

# 假设已定义SELECTED_FIELDS和config
SELECTED_FIELDS = ["LensID", "FileName"]

with exiftool.ExifToolHelper(
    logger=logging.getLogger(__name__),
    common_args=['-G']  # 替换默认的-n,添加需要的参数
) as et:
    metadata = et.get_metadata(config["files"]["PictureDirectory"], params=SELECTED_FIELDS)

原理说明

ExifToolHelper默认会给exiftool命令添加-n参数(输出机器可读的原始值),通过common_args传入自定义参数列表后,会完全替换默认的参数集合,这样就去掉了-n,LensID等字段会自动显示为友好的名称而非数字ID。

如果需要同时保留其他默认行为(实际上默认只有-n),只需在common_args中包含你需要的参数即可,比如需要-G(显示组名)同时禁用-n,就传['-G']。

内容的提问来源于stack exchange,提问作者Gilbert Houtekamer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 02:57:45