'RepeatedScalarFieldContainer' 对象没有属性 'add'

O_O*_*O_O 2 python protocol-buffers

我想在 python 上的 protobuf API 上构建一个 protobuf 消息。这是我的原型文件。但是我不能在我的代码中添加“D”。

package pkg;
message A
{
    repeated B b = 1;
}
message B
{
    C c = 1;
}
message C
{
    enum D {
        OPTION1 = 1;
        OPTION2 = 2;
    }
    repeated D d = 1;

}
Run Code Online (Sandbox Code Playgroud)

这是我的python代码。

    my_A = A()
    my_B = my_A.b.add()
    my_B.c.add(D.OPTION1)
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

AttributeError: 'RepeatedScalarFieldContainer' 对象没有属性 'add'

小智 5

我遇到了这个错误,经过数小时的谷歌搜索,我发现了这个https://www.programcreek.com/python/example/96615/google.protobuf.internal.containers.RepeatedScalarFieldContainer Example 1 显示了一个RepeatedScalarFieldContainer值 use append()。所以尝试追加可能有效。