我正在按照本教程在python
中使用协议缓冲区。
这是我main.proto
文件:
syntax = "proto2"
message Foo {
repeated int32 nums = 1;
}
我无法访问foo.nums
.
以下是失败的python
脚本:
import main_pb2
foo = main_pb2.Foo
foo.nums.append(1)
这是我运行它时得到的:
AttributeError: type object 'Foo' has no attribute 'nums'.
为了使它更加混乱,我可以看到Foo
有一个属性称为foo.NUMS_FIELD_NUMBER
.这是怎么回事?
这一行:
foo = main_pb2.Foo
应该是:
foo = main_pb2.Foo()
我没有调用构造函数。这将修复错误。