导语:
本文主要介绍了关于python Protobuf定义消息类型的相关知识,包括python protobuf序列化,以及python声明类型这些编程知识,希望对大家有参考作用。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
让我们从一个非常简单的例子开始。假设你要为“搜索请求”定义消息格式。每个请求包含一个查询字符串,你对查询结果感兴趣的页数,以及每个页面上有多少个查询结果。
消息类型的.proto文件可以通过以下方式定义:
syntax = "proto3"; // 声明使用 proto3 语法
message SearchRequest {
string query = 1; // 每个字段都要指定数据类型
int32 page_number = 2; // 这里的数字2 是标识符,最小的标识号可以从1开始,到2^29 - 1, or 536,870,911。不可以使用其中的[19000-19999]
int32 result_per_page = 3; // 这里是注释,使用 //
}
(1) 第一行指定你使用的是proto3语法:如果不指定,编译器将使用proto2。此指定语法必须是文件的第一个非空非注释行。
(2) SearchRequest消息格式有3个字段,消息中携带的数据对应每个字段。这些字段中的每一个都有一个名称和一个类型。
(3) 给.proto文件添加注释,可以使用C/C++/java风格的双斜杠(//)语法格式。
(4) 在消息正文中,每个字段都有一个唯一的数字标识。这些标识符用于标识消息二进制格式中的字段,一旦使用就无法更改。
以上就是python Protobuf定
义消息类型,希望能对大家有所帮助。
更多Python学习指路:
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python插入排序是一种算法吗?如何使用?01/04
- ♥ 应该安装哪个版本的python09/13
- ♥ 如何用python画皮卡丘?09/17
- ♥ 如何在python中写一个列表09/04
- ♥ 为什么python中没有执行import语句11/12
- ♥ python模块存储在哪里?12/28
内容反馈