小编Ash*_*mar的帖子

将序列化的 protobuf 输出转换为 python 字典

给定一个字符串格式的序列化 protobuf(协议缓冲区)输出。我想把它转换成Python字典。

假设这是序列化的 protobuf,以 python 字符串形式给出:

person {
  info {
    name: John
    age: 20
    website: "https://mywebsite.com"
    eligible: True
  }
}
Run Code Online (Sandbox Code Playgroud)

我想将上面的 python 字符串转换为 python 字典data,如下所示:

person {
  info {
    name: John
    age: 20
    website: "https://mywebsite.com"
    eligible: True
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以编写一个 python 脚本来进行转换,如下所示:

  • 在不以大括号结尾的每一行添加逗号。
  • 在左大括号前添加一个额外的冒号。
  • 用引号将每个单独的键和值对括起来。
  • 最后使用该json.loads()方法将其转换为Python字典。

我想知道是否可以使用协议缓冲区中已有的更简单或标准方法来实现这种转换。那么,除了使用我上面提到的步骤手动编写脚本之外,是否有更好的或标准的方法可用于将序列化的 protobuf 输出转换为 python 字典?

python json dictionary protocol-buffers

5
推荐指数
1
解决办法
9319
查看次数

标签 统计

dictionary ×1

json ×1

protocol-buffers ×1

python ×1