在protobuf python api中如何将元素添加到嵌套的消息重复属性中?

2024-05-14 01:06:42 发布

您现在位置:Python中文网/ 问答频道 /正文

message items {
    message require {
        optional bool require_sex = 1; //
        repeated int32 fate = 2 [packed = true];
    }
    optional int32 sub_type = 1;
    repeated int32 levels = 2 [packed = true];
}

我试过了

raw.require.require_sex = 1
raw.require.fate.append(1)
raw.require.fate.extend([2,3])

有个错误 AttributeError:“property”对象没有“append”属性

但第一级重复场的效果很好:

raw = down_pb2.items()
raw.levels.append(4)

不支持这种定义吗?


Tags: truemessagerawtypeitemsrequirerepeatedoptional
1条回答
网友
1楼 · 发布于 2024-05-14 01:06:42

您需要使用require类型创建一个字段,然后在代码中访问该字段。

message items {
    message require {
        optional bool require_sex = 1; //
        repeated int32 fate = 2 [packed = true];
    }
    optional int32 sub_type = 1;
    repeated int32 levels = 2 [packed = true];
    required require sub = 3;
}

那么

raw.sub.fate.append(1)

相关问题 更多 >