用于处理协议消息的模块。
成员
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
|
structure;
required |