gpt4 book ai didi

python - 可以直接将文件内容加载到 protobuf 中吗?

转载 作者:行者123 更新时间:2023-11-30 22:07:11 26 4
gpt4 key购买 nike

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

假设我有一个 protobuf 定义 MyObject.pb。我创建了一个 MyObject 类型的对象,并将其每个字段设置为一些有意义的值。并假设所有值都是原始基元(int、float、string...)。

假设我将这些值存储为表示字符串,该字符串遵循与定义相同的语法。

例如,如果 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;
}

是否有一种方法可以通过为构造函数提供表示字符串的路径作为参数来自动初始化原型(prototype)缓冲区?还是必须手动进行解析?

最佳答案

虽然它没有使用与定义完全相同的语法,但您可以使用 google.protobuf.text_format module解析消息的更易读的表示形式。具体来说,Merge 方法将此类字符串解析为 Protocol Buffer ,而 MessageToString 方法将 Protocol Buffer 转换为字符串。

对于您的示例消息,文本表示形式如下所示:

name: "aStringName"
id: 100
email "ex@mple.com"

它还可以处理嵌套消息。 (See this other answer for more detail.)

关于python - 可以直接将文件内容加载到 protobuf 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52505856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com