编程语言
首页 > 编程语言> > 在protobuf python API中如何将元素添加到嵌套消息重复属性?

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

出现错误
AttributeError:“属性”对象没有属性“附加”

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

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)

标签:protocol-buffers,python
来源: https://codeday.me/bug/20191201/2082442.html