原型

回報問題 查看來源

通訊協定訊息處理的模組。

成員

encode_text

string proto.encode_text(x)

以文字格式的通訊協定訊息傳回結構引數的編碼。 資料結構必須重複組成,字串、整數、浮點或布林值,或是這些類型的結構體、序列和字典。

結構會轉換為訊息。欄位會按照名稱順序發出。 系統會忽略值為 None 的每個 struct 欄位。

序列 (例如清單或元組) 會轉換為重複欄位。其元素不得為序列或字典。

系統會將字典轉換成含有「key」和「value」欄位的重複欄位訊息。項目會以疊代 (插入) 順序發出。 字典的鍵必須是字串或 int,而且其值不得為序列或字典。範例:

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