原型

报告问题 查看源代码

用于协议消息处理的模块。

成员

encode_text

string proto.encode_text(x)

以文本格式协议消息的形式返回结构体参数的编码。 数据结构必须以递归方式由字符串、整数、浮点数或布尔值组成,或由这些类型的结构体、序列和字典组成。

结构体转换为消息。字段按名称顺序发出。系统会忽略值为 None 的每个结构体字段。

序列(例如列表或元组)将转换为重复字段。它的元素不得为序列或词典。

字典转换为消息的重复字段,其中包含字段“key”和“value”。条目按迭代(插入)顺序发出。 字典的键必须是字符串或整数,而值不能是序列或字典。示例:

proto.encode_text(struct(field=123))
# field: 123

proto.encode_text(struct(field=True))
# field: true

proto.encode_text(struct(field=[1, 2, 3]))
# field: 1
# field: 2
# field: 3

proto.encode_text(struct(field='text', ignored_field=None))
# field: "text"

proto.encode_text(struct(field=struct(inner_field='text', ignored_field=None)))
# field {
#   inner_field: "text"
# }

proto.encode_text(struct(field=[struct(inner_field=1), struct(inner_field=2)]))
# field {
#   inner_field: 1
# }
# field {
#   inner_field: 2
# }

proto.encode_text(struct(field=struct(inner_field=struct(inner_inner_field='text'))))
# field {
#    inner_field {
#     inner_inner_field: "text"
#   }
# }

proto.encode_text(struct(foo={4: 3, 2: 1}))
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

参数

参数 说明
x 必需