我正在尝试使用此处找到的 Google Protobuf API ,但我在使用带有以下信息的内置 PrintField() 方法时遇到了问题:
PrintField(字段,值,出,缩进=0,as_utf8=False,as_one_line=False)
打印单个字段名称/值对。对于重复的字段,该值应该是单个元素。
合并我的消息后,我可以打印出完全合并的布局。但是,我想要特定的字段/值对,我有点不确定如何去做,因为我找不到任何完整的互联网示例。
我尝试了以下方法:
proto.PrintField(1, 1, cStringIO.StringIO()) , proto.PrintField('field1', 'subfield', cStringIO.StringIO())
我的消息如下所示: message field1 {subfield = 1;}
这样运行会产生以下错误:“AttributeError: 'int' object has no attribute 'is_extension'” 这在两种情况下都是相同的,唯一的变化是 'int' 或 'string'。