Python 你能直接将文件中的内容加载到protobuff中吗?
我正在阅读文档,似乎找不到任何明确的内容 假设我有一个protobuf定义Python 你能直接将文件中的内容加载到protobuff中吗?,python,string,parsing,protocol-buffers,Python,String,Parsing,Protocol Buffers,我正在阅读文档,似乎找不到任何明确的内容 假设我有一个protobuf定义MyObject.pb。 我创建了一个类型为MyObject的对象,并将其每个字段设置为一些有意义的值。并假设所有值都是原型(int、float、strings…) 假设我将这些值存储为一个表示字符串,该字符串遵循与定义相同的语法 e、 g如果MyObject.pb看起来像: message Person { required string name = 1; required int32 id = 2; op
MyObject.pb
。
我创建了一个类型为MyObject
的对象,并将其每个字段设置为一些有意义的值。并假设所有值都是原型(int、float、strings…)
假设我将这些值存储为一个表示字符串,该字符串遵循与定义相同的语法
e、 g如果MyObject.pb看起来像:
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
message Person {
required string name = aStringName;
required int32 id = 100;
optional string email = ex@mple.com;
}
关联的已保存文件如下所示:
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
message Person {
required string name = aStringName;
required int32 id = 100;
optional string email = ex@mple.com;
}
有没有一种方法可以通过将表示字符串的路径作为参数提供给构造函数来自动初始化protobuffer?或者您必须手动进行解析吗?尽管它使用的语法与定义的语法不完全相同,但您可以使用来解析更具可读性的消息表示形式。具体来说,
Merge
方法将这样的字符串解析为协议缓冲区,而MessageToString
方法将协议缓冲区转换为字符串
对于示例消息,文本表示形式如下所示:
name: "aStringName"
id: 100
email "ex@mple.com"
它还可以处理嵌套消息。()