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

Python3.8读取Win10下JPEG文件Phenom-World自定义元数据问题咨询

读取JPEG自定义元数据标签「Phenom-World」解决方案

问题前提

  • 耗时16小时尝试读取JPEG文件属性中名为Phenom-World的自定义标签数据失败
  • 已尝试方案均只能读取常规文件属性,无法获取目标标签内容
    • 读取标准Exif信息
    • 调用Win32com接口
    • 使用os.stat方法
  • 补充说明:该标签为飞纳电镜(Phenom-World)生成的专用元数据,嵌入在文件内部,仅安装对应厂商软件的Windows设备可在文件属性详情页直接查看,无对应软件时该元数据处于隐藏状态
  • 运行环境:Python 3.8、Windows 10系统

可行解决方案

方案1:使用ExifTool + PyExifTool 读取(最稳定)

ExifTool支持解析几乎所有厂商自定义的图像元数据,可直接识别Phenom系列设备写入的专用标签。

操作步骤:

  1. 下载Windows版ExifTool可执行文件,将其重命名为exiftool.exe,放入Python脚本同级目录或系统环境变量可识别的路径下
  2. 安装Python依赖包:
pip install pyexiftool
  1. 读取代码示例:
from exiftool import ExifToolHelper

with ExifToolHelper() as et:
    # 读取目标文件所有元数据
    metadata = et.get_metadata("6.jpeg")
    # 筛选Phenom-World相关标签
    phenom_data = {k:v for k,v in metadata[0].items() if "Phenom" in k or "phenom" in k}
    print(phenom_data)

运行后即可输出所有Phenom-World标签下的全部数据。

方案2:二进制解析JPEG应用段(无额外依赖)

Phenom写入的自定义元数据存储在JPEG的非标准APP应用段中,可直接通过二进制读取文件定位对应段提取内容:

def read_phenom_metadata(file_path):
    with open(file_path, "rb") as f:
        data = f.read()
    # JPEG段起始标识为0xFF,APP段标识范围0xFFE1~0xFFEF
    pos = 0
    while pos < len(data) - 4:
        if data[pos] == 0xFF:
            # 识别APP段
            if 0xE1 <= data[pos+1] <= 0xEF:
                seg_len = int.from_bytes(data[pos+2:pos+4], byteorder="big")
                seg_content = data[pos+4:pos+2+seg_len]
                # 匹配Phenom-World标识
                if b"Phenom-World" in seg_content:
                    return seg_content.decode(errors="ignore")
            pos += 2 + int.from_bytes(data[pos+2:pos+4], byteorder="big")
        else:
            pos += 1
    return None

phenom_content = read_phenom_metadata("6.jpeg")
print(phenom_content)

该方案无需安装额外软件,可直接提取目标段的原始内容自行解析。

注意事项

  • 若使用方案1,需确保exiftool.exe的路径可被程序正常调用,若未放入系统路径,可在初始化ExifToolHelper时指定路径参数
  • 若解析出的内容为结构化格式,可根据实际输出的分隔符进一步提取对应字段值

内容的提问来源于stack exchange,提问作者Te Ka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 07:48:01