Python操作protobuf示例

addressbook.proto文件内容

package tutorial;

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代码:

import addressbook_pb2
person = addressbook_pb2.Person()
person.id = 1234
person.name = "John Doe"
person.email = "[email protected]"
phone = person.phone.add()      #嵌套message
phone.number = "555-4321"
phone.type = addressbook_pb2.Person.HOME

参考资料:
Protocol Buffer Basics: Python

Python Generated Code

你可能感兴趣的:(Python)