首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python protobuf序列化repeated使用

2012-08-22 
python protobuf序列化repeated运用下面是proto描述文件的定义message Person {required string name 1

python protobuf序列化repeated运用

下面是proto描述文件的定义
message Person {  required string name = 1;  required int32 id = 2;  optional string email = 3;  enum PhoneType {    MOBILE = 0;    HOME = 1;    WORK = 2;  }  message PhoneNumber {    required string number = 1;    optional PhoneType type = 2 [default = HOME];  }  repeated PhoneNumber phone = 4;}message AddressBook {  repeated Person person = 1;}
在python中利用google.protobuf序列化数据进行通讯的时候,一定会遇到repeated的数据如何去创建
在这里我给大家分享一下:
import addressbook_pb2person = addressbook_pb2.Person()person.id = 1234person.name = "John Doe"person.email = "jdoe@example.com"phone = person.phone.add()phone.number = "555-4321"phone.type = addressbook_pb2.Person.HOMEperson.no_such_field = 1person.id = "1234" 
请注意加红的一行代码,这就是重点,如果想再添加一个的话phone2 = person.phone.add()即可,然后给phone2赋值。

热点排行