python 序列化protobuf
时间: 2024-01-13 09:03:59 浏览: 102
在Python中,可以使用protobuf库进行序列化和反序列化操作。下面是一个示例代码,演示了如何使用protobuf进行序列化和反序列化:
```python
# 导入protobuf库
from example import person_pb2
# 创建一个person对象并填充数据
person = person_pb2.Person()
person.id = 1
person.name = 'John Doe'
person.email = 'johndoe@example.com'
# 将person对象序列化为字节流
serialized_data = person.SerializeToString()
# 将字节流反序列化为person对象
deserialized_person = person_pb2.Person()
deserialized_person.ParseFromString(serialized_data)
# 打印反序列化后的person对象的属性值
print("ID:", deserialized_person.id)
print("Name:", deserialized_person.name)
print("Email:", deserialized_person.email)
```
这段代码首先导入了protobuf库,并从`example`模块中导入了`person_pb2`模块。然后,创建了一个`Person`对象,并为其属性赋值。接下来,使用`SerializeToString()`方法将`Person`对象序列化为字节流。最后,使用`ParseFromString()`方法将字节流反序列化为`Person`对象,并打印出反序列化后的属性值。
阅读全文