IT Share you

반복 필드에 할당하는 방법은 무엇입니까?

shareyou 2020. 12. 4. 21:28
반응형

반복 필드에 할당하는 방법은 무엇입니까?


파이썬에서 프로토콜 버퍼를 사용하고 있으며 Person메시지가 있습니다.

repeated uint64 id

하지만 다음과 같이 값을 할당하려고 할 때 :

person.id = [1, 32, 43432]

오류가 발생합니다. Assigment not allowed for repeated field "id" in protocol message object반복되는 필드에 값을 할당하는 방법은 무엇입니까?


당으로 문서 , 직접 반복 필드에 할당 할 수 없습니다. 이 경우 extend목록의 모든 요소를 ​​필드에 추가하도록 호출 할 수 있습니다 .

person.id.extend([1, 32, 43432])

확장 하지 않고 완전히 덮어 쓰 려면 다음을 수행 할 수 있습니다.

person.id[:] = [1, 32, 43432]

이 접근 방식은 필드를 완전히 지우는 데에도 효과적입니다.

del person.id[:]

사용해 볼 수 있습니다. MergeFrom

사용 가능한 전체 메시지 메서드 목록은 다음 문서를 확인하세요. https://developers.google.com/protocol-buffers/docs/reference/python/google.protobuf.message.Message-class

참고 URL : https://stackoverflow.com/questions/23726335/how-to-assign-to-repeated-field

반응형