zoukankan      html  css  js  c++  java
  • 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_pb2
    person = addressbook_pb2.Person()
    person.id = 1234
    person.name = "John Doe"
    person.email = ""
    phone = person.phone.add()
    phone.number = "555-4321"
    phone.type = addressbook_pb2.Person.HOME person.no_such_field = 1 person.id = "1234"

      请注意加红的一行代码,这就是重点,如果想再添加一个的话phone2 = person.phone.add()即可,然后给phone2赋值

  • 相关阅读:
    PHP PDO
    常用JavaScript字符串方法简述
    命名
    jquery远程班备忘
    html历史
    CSS3的翻转效果
    正则
    排序算法
    firebug的调试,console
    跨域
  • 原文地址:https://www.cnblogs.com/ymy124/p/4958552.html
Copyright © 2011-2022 走看看