Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 你能直接将文件中的内容加载到protobuff中吗?_Python_String_Parsing_Protocol Buffers - Fatal编程技术网

Python 你能直接将文件中的内容加载到protobuff中吗?

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

我正在阅读文档,似乎找不到任何明确的内容

假设我有一个protobuf定义
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"
它还可以处理嵌套消息。()