在Python中是否可以从protobuf字符串表示创建对象?
我有一个对象的protobuf字符串表示(通过__str___()
定义)。请问有没有简单的方法可以从这个字符串创建出那个对象?还是说唯一的方法就是自己写一个解析器?因为默认的序列化和反序列化方法不适用,因为对象状态的修改应该在编程范围之外进行。整个流程是这样的:
- 从网络获取序列化表示;
- 将这个表示反序列化成对象;
- 获取对象的字符串表示;
- 把这个表示传给需要修改某些字段的人(在字符串表示中修改的值)。这里会为所有接收到的对象创建一个单独的文件,里面包含字符串表示(会有很多对象);
- 将新字符串转换为Python对象;
- 序列化对象;
- 通过网络传递序列化消息。
1 个回答
0
这要看你怎么把这个对象变成字符串(str())。如果这个对象可以被机器轻松理解,那就最简单了。如果你用的是json、yaml或者xml格式,你可以直接使用内置的序列化库来处理。否则,你就得自己写代码来实现了。