在Protobuf Python API中,如何将元素添加到嵌套消息重复属性中


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])

出现错误属性错误:"属性"对象没有属性"追加">

但是第一级重复字段工作正常:

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

不支持这种定义吗?

您需要使用该 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)

最新更新