从proto文件中提取GPB描述符
我有一个proto文件,里面定义了一些GPB(协议缓冲区)消息。
我想写一个简单的Python脚本,遍历这些不同的消息,并把每个消息字段的基本信息(比如名字、类型、默认值等等)写到一个外部文件里(比如说一个JSON文件)。
我在网上查了一下,发现一旦我拿到了GPB描述符,后面的事情应该就比较简单了。
不过,我不知道怎么获取这个描述符。
有人能帮我一下吗??
谢谢!
1 个回答
0
protoc
有一个选项 --descriptor_set_out
,这个选项可以把描述符写成一个 FileDescriptorSet
,具体内容可以参考 descriptor.proto
,这是 Protobuf 源代码中的一个文件。想了解更多信息,可以查看 protoc --help
。
另外,你也可以考虑把你的脚本写成一个 代码生成插件。这样的话,你生成的就不是代码,而是一个 JSON 文件(或者其他格式),但机制是一样的。