giao thức

Báo cáo vấn đề Xem nguồn Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Mô-đun xử lý thông báo giao thức.

Hội viên

encode_text

string proto.encode_text(x)

Trả về mã hoá của đối số cấu trúc dưới dạng thông báo giao thức định dạng văn bản. Cấu trúc dữ liệu phải được tạo đệ quy từ các chuỗi, số nguyên, số thực hoặc bool, hoặc các cấu trúc, trình tự và từ điển thuộc các loại này.

Một cấu trúc được chuyển đổi thành một thông báo. Các trường được phát theo thứ tự tên. Mỗi trường cấu trúc có giá trị là None sẽ bị bỏ qua.

Một trình tự (chẳng hạn như danh sách hoặc bộ dữ liệu) được chuyển đổi thành trường lặp lại. Các phần tử của tập hợp này không được là trình tự hoặc tập hợp.

Một dict được chuyển đổi thành một trường lặp lại của các thông báo có các trường có tên là "key" và "value". Các mục được phát ra theo thứ tự lặp lại (chèn). Khoá của từ điển phải là chuỗi hoặc số nguyên và giá trị của từ điển không được là trình tự hoặc từ điển. Ví dụ:

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
# }

Tham số

Thông số Mô tả
x cấu trúc; bắt buộc