Proto

<ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> 문제 신고 소스 보기 를 참조하세요. 1박 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5 에 대해 자세히 알아보세요.

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

회원

encode_text

string proto.encode_text(x)

구조체 인수의 인코딩을 텍스트 형식 프로토콜 메시지로 반환합니다. 데이터 구조는 문자열, 정수, 부동 소수점 수, 부울 또는 이러한 유형의 구조체, 시퀀스, 사전으로 재귀적으로 구성되어야 합니다.

구조체는 메시지로 변환됩니다. 필드는 이름 순서대로 내보냅니다. 값이 None인 각 구조체 필드는 무시됩니다.

시퀀스 (예: 목록 또는 튜플)는 반복되는 필드로 변환됩니다. 요소는 시퀀스나 dicts가 아니어야 합니다.

dict는 이름이 'key'인 필드가 있는 반복되는 메시지 필드로 변환됩니다. 'value'가 포함됩니다. 항목은 반복 (삽입) 순서로 내보내집니다. dict의 키는 문자열 또는 정수여야 하며 값은 시퀀스나 dict이 아니어야 합니다. 예:

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