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()。所以尝试追加可能有效。