Proto

문제 신고 소스 보기 Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

회원

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 구조; 필수