在Python中是否可以从protobuf字符串表示创建对象?

0 投票
1 回答
897 浏览
提问于 2025-04-17 21:57

我有一个对象的protobuf字符串表示(通过__str___()定义)。请问有没有简单的方法可以从这个字符串创建出那个对象?还是说唯一的方法就是自己写一个解析器?因为默认的序列化和反序列化方法不适用,因为对象状态的修改应该在编程范围之外进行。整个流程是这样的:

  1. 从网络获取序列化表示;
  2. 将这个表示反序列化成对象;
  3. 获取对象的字符串表示;
  4. 把这个表示传给需要修改某些字段的人(在字符串表示中修改的值)。这里会为所有接收到的对象创建一个单独的文件,里面包含字符串表示(会有很多对象);
  5. 字符串转换为Python对象;
  6. 序列化对象;
  7. 通过网络传递序列化消息。

1 个回答

0

这要看你怎么把这个对象变成字符串(str())。如果这个对象可以被机器轻松理解,那就最简单了。如果你用的是json、yaml或者xml格式,你可以直接使用内置的序列化库来处理。否则,你就得自己写代码来实现了。

撰写回答