Protocol buffers 如何打开/查看.proto文件扩展名

Protocol buffers 如何打开/查看.proto文件扩展名,protocol-buffers,proto,Protocol Buffers,Proto,我正在从事一个开源项目()。通过这个应用程序,我可以记录一个实验。记录的实验以.proto扩展名存储。我试图编译它们来生成类,但失败了 有没有办法打开这类文件?在协议缓冲区中,。proto文件通常是描述消息而不是数据的基于文本的模式DSL;然而,这些文件可能确实包含二进制数据(只是…不寻常)。仔细检查文件:如果它们看起来像: message Foo { int32 bar = 1; // etc } 然后是图式;如果它是二进制的,它可能是数据 至于如何阅读:最简单的选择是已经有了模

我正在从事一个开源项目()。通过这个应用程序,我可以记录一个实验。记录的实验以.proto扩展名存储。我试图编译它们来生成类,但失败了


有没有办法打开这类文件?

在协议缓冲区中,
。proto
文件通常是描述消息而不是数据的基于文本的模式DSL;然而,这些文件可能确实包含二进制数据(只是…不寻常)。仔细检查文件:如果它们看起来像:

message Foo {
   int32 bar = 1;
   // etc
}
然后是图式;如果它是二进制的,它可能是数据

至于如何阅读:最简单的选择是已经有了模式。如果不这样做,数据在技术上是不明确的——您可能可以通过检查数据对其进行反向工程,但这可能会很尴尬。您可能会发现这样的工具在这方面很有用

一旦有了架构和数据,您将:

  • 从模式在所选平台中生成必要的存根(此处可能有用)
  • 然后:为您选择的平台使用protbuf库的“反序列化”API将数据加载到对象模型中
  • 最后:检查对象模型,现在已填充数据

您需要protobuf模式文件和模式编译器;稍微浏览一下存储库,它的Gradle设置似乎已经完成了所需的工作。为什么我的问题被否决了?关于如何使用Python处理这些问题,有什么想法吗?@Mark将.proto模式通过
protoc
(使用),指定Python输出;并遵循python的开发者指南?