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

咨询Python中PSD解析器输出的<pixel:...>格式类型

PSD解析器输出格式解析

问题

我在Python中使用PSD解析器得到如下输出:

<pixel: u'Crop Marks', size=2478x3509, x=1, y=0, visible=1, mask=None, effects=[]>

请问该输出属于何种格式?


回答

嗨,这个输出其实是Python类实例的自定义字符串表示,也就是类通过__repr__或__str__方法生成的打印格式,并非JSON、XML这类通用标准数据格式。

具体来说,你用的PSD解析库(比如常见的psd-tools)会专门定义类来封装PSD文件里的图层、标记这类元素。当你直接打印这个类的实例时,库就会输出这种结构化的字符串——它把该图层的核心属性(名称、尺寸、位置、可见性、蒙版、特效等)用易读的方式拼接起来,方便你快速查看图层的关键信息。

举个简单的类比,就像你自己写个小类:

class PixelLayer:
    def __init__(self, name, size, x, y, visible, mask, effects):
        self.name = name
        self.size = size
        self.x = x
        self.y = y
        self.visible = visible
        self.mask = mask
        self.effects = effects
    
    def __repr__(self):
        return f"<pixel: {self.name!r}, size={self.size}, x={self.x}, y={self.y}, visible={self.visible}, mask={self.mask}, effects={self.effects}>"

创建实例并打印时,就会得到和你贴出来几乎一样的输出。

这种格式的优势是直观易懂,但如果要把数据序列化存储或者和其他系统交互,你需要把这些属性转换成标准格式(比如JSON)。举个例子:

# 假设layer是你获取到的那个实例
layer_info = {
    "type": "pixel",
    "name": layer.name,
    "size": str(layer.size),  # 把尺寸对象转成字符串
    "x": layer.x,
    "y": layer.y,
    "visible": bool(layer.visible),
    "mask": layer.mask,
    "effects": layer.effects
}

# 转换成JSON字符串
import json
json_output = json.dumps(layer_info)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:38:42