ProtoBuf: 是一套完整的 IDL(接口描述语言),出自Google,基于 C++ 进行的实现,开发人员可以根据 ProtoBuf 的语言规范生成多种编程语言(Golang、Python、Java 等)的接口代码,本篇只讲述 Python 的基础操作。据说 ProtoBuf 所生成的二进制文件在存储效率上比 XML 高 3~10 倍,并且处理性能高 1~2 个数量级,这也是选择 ProtoBuf 作为序列化方案的一个重要因素之一。
1、protoc安装
- 安装 ProtoBuf 相关的 python 依赖库
$ pip install protobuf
2、python语言的使用(参见)
2.1、创建demo工程
-
创建 demo python 工程
-
在 example 包中编写 person.proto
syntax = "proto3";
package example;
message person {
int32 id = 1;
string name = 2;
}
message all_person {
repeated person Per = 1;
}
-
- 在 python 工程中使用 protobuf 进行序列化与反序列化