原型

报告问题 查看源代码

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

成员

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 必需