Mô-đun Proto

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

Hội viên

encode_text

string ProtoModule.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 bao gồm đệ quy bao gồm các chuỗi, số nguyên, số thực có độ chính xác đơn hoặc số bools, hoặc cấu trúc, chuỗi và lệnh chính tả 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 điền theo thứ tự tên.

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

Một lệnh chính tả được chuyển đổi thành một trường thông điệp lặp lại với các trường có tên là "key" và "value". Các mục nhập được phát theo thứ tự lặp lại (chèn). Các khoá của lệnh dict phải là chuỗi, int hoặc bools và giá trị của các lệnh này không được là chuỗi hoặc lệnh chính tả. Ví dụ:

struct(field=123).to_proto()
# field: 123

struct(field=True).to_proto()
# field: true

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

struct(field='text').to_proto()
# field: "text"

struct(field=struct(inner_field='text')).to_proto()
# field {
#   inner_field: "text"
# }

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

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

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

Tham số

Thông số Mô tả
x bắt buộc