Proto

문제 신고 소스 보기

프로토콜 메시지 처리를 위한 모듈입니다.

구성원

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 필수