当构建proto对象时,“TypeError:无法分配给扩展”actionRequest“,因为它是重复的或复合的类型。”
原型文件:
message Message{
message MessageContent{
extensions 100 to max;
}
optional MessageContent content = 1;
}
message ActionRequest{
optional string token = 1;
}
代码:
import TestPb_pb2
message = TestPb_pb2.Message()
request = TestPb_pb2.ActionRequest()
message.content.Extensions[TestPb_pb2.actionRequest] = request
协议缓冲区Python API自动为您构造扩展消息的实例。因此,不必指定给
message.content.Extensions[TestPb_pb2.actionRequest]
,您可以写入预构造的消息:message.content.Extensions[TestPb_pb2.actionRequest].token = "foobar"
(至于为什么API是这样设计的,我不知道。)
相关问题 更多 >
编程相关推荐