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 구조체 또는 NativeInfo; 필수