从proto文件中提取GPB描述符

时间:2014-03-06 13:01:32

标签: python protocol-buffers

我有一个定义一些GPB(原型缓冲区)消息的proto文件。 我想实现一个简单的python脚本,它遍历不同的消息并写入外部文件(比如一个JSON文件)关于每个消息字段(名称,类型,默认值等)的基本信息。 我在WEB上搜索,发现一旦我得到GPB描述符,剩下的应该相对容易。 但是,我不知道如何获取描述符本身。 有人可以帮我吗? 10x

1 个答案:

答案 0 :(得分:0)

protoc有一个选项--descriptor_set_out,它将描述符写为FileDescriptorSet,如descriptor.proto from the Protobuf source code中所述。有关详细信息,请参阅protoc --help

或者,您可以考虑将脚本实际编写为code generator plugin。在这种情况下,您不会生成代码,只会生成JSON文件(或其他),但机制是相同的。