【发布时间】:2015-08-31 10:10:56
【问题描述】:
我想在 python 上测试 protobuf 的 API 上的嵌套消息。
我的原型 ndemo.proto 文件是:
package ndemotest;
message BaseRequest
{
required bytes Key = 1;
}
message ContRequest
{
required BaseRequest baseRequest = 1;
optional string Url = 2;
}
我的 python ndemo.py 代码是:
import binascii
import ndemo_pb2
contReq = ndemo_pb2.ContRequest()
contReq.Url="www.google.com"
base_request = contReq.baseRequest.add()
base_request.Key="12345"
packed_data = contReq.SerializeToString()
print 'sending "%s"' % binascii.hexlify(packed_data)
当我以python ndemo.py 运行脚本时,出现错误
Traceback(最近一次调用最后一次):文件“ndemo.py”,第 8 行,在 base_request = contReq.baseRequest.add() AttributeError: 'BaseRequest' 对象没有属性 'add'
【问题讨论】: