一、proto协议内容
test.proto
//个人信息
message PersonInfo
{
optional bytes gender=1;
optional uint32 age=2;
}
//课程信息
message CourseInfo
{
optional bytes coursename=1;
optional uint32 grade=3;
}
//我的信息
message MyInfo
{
optional string name=1;
optional PersonInfo person=2;
repeated CourseInfo course_list=3;
repeated bytes interest_list=4;
}
二、将proto转换为python类文件
安装protoc
执行指令:
protoc --python_out=. test.proto
生成 test_pb2.py
三、proto赋值
if __name__=="__main__":
personinfo=test_pb2.PersonInfo()
setattr(personinfo,"gender","female")
setattr(personinfo,"age",1)
course1=test_pb2.CourseInfo()
setattr(course1,"coursename","高数")
setattr(course1,"grade",87)
course2 = test_pb2.CourseInfo()
setattr(course1, "coursename", "英语")
setattr(course1, "grade",