# 导入protobuf相关的库
import protobuf.example_pb2 as example_pb2 # 假设example_pb2是编译后的protobuf文件
# 创建一个Person对象
person = example_pb2.Person()
person.id = 1234
person.name = "John Doe"
person.email = "jdoe@example.com"
# 添加电话号码
phone = person.phones.add()
phone.number = "555-4321"
phone.type = example_pb2.Person.HOME
# 序列化为字符串
serialized_person = person.SerializeToString()
# 反序列化
new_person = example_pb2.Person()
new_person.ParseFromString(serialized_person)
# 打印反序列化后的对象信息
print("ID:", new_person.id)
print("Name:", new_person.name)
print("Email:", new_person.email)
for phone in new_person.phones:
print("Phone:", phone.number, "Type:", example_pb2.Person.PhoneType.Name(phone.type))
example_pb2,这是通过protoc编译器从.proto文件生成的Python代码。Person对象,并设置了其属性(如id, name, email)。phones.add()方法添加了一个电话号码,并设置了电话类型。Person对象序列化为字节字符串,以便可以存储或传输。Person对象。上一篇:zip在python中的含义
下一篇:python base64解码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站