(1)定义消息
创建test_protobuf.proto文件
syntax = "proto2";
// 有版本2和版本3,版本3下面不需要required和optional
package test_protobuf;//文件名称
message helloworld
{
required int32 id = 1;
required string str = 2;
optional int32 wow = 3;
}
对文件进行编译:protoc -I=./ --python_out=./ ./test_protobuf.proto
-I: 是设定源路径
--python_out: 用于设定编译后的输出结果,如果使用其它语言请使用对应语言的option
默认生成test_protobuf_pb2.py文件
最后一个参数是你要编译的proto文件
(2)初始化消息以及存储传输消息
通过writer方法初始化消息:会将序列化的结果存储在文件mybuffer.io中
pr = test_protobuf() # 从对应的pb2文件中找类
pr.id = 123 # 放入值
pr.str = "test"
pr.wow = 222
with open("test_protobuf.io", "wb") as f:
# 值写入对应的文件