Как получить имя значения поля перечисления сообщения python protobuf ⇐ Python
-
Anonymous
Как получить имя значения поля перечисления сообщения python protobuf
Я пока не увлекаюсь protobuf, но попробую сформулировать вопрос. Учитывая, что у меня есть:
перечисление SourceType { ВЕБ = 1; } сообщение Сообщение { необязательный источник SourceType = 6; } У меня есть сообщение, которое является экземпляром Message, и я хочу получить значение источника так же, как при печати сообщения. Но выполнение message.source дает мне код. Я хочу получить значение только из объекта, а не с помощью других перечислений/отображений/констант. В последней строке приведен пример того, как можно достичь ожидаемого значения, но я ищу более элегантный способ.
> сообщение > распечатать сообщение источник: ВЕБ > распечатать message.source 1 > message.DESCRIPTOR.fields_by_name['source'].enum_type.values_by_number[1].name ВЕБ
Я пока не увлекаюсь protobuf, но попробую сформулировать вопрос. Учитывая, что у меня есть:
перечисление SourceType { ВЕБ = 1; } сообщение Сообщение { необязательный источник SourceType = 6; } У меня есть сообщение, которое является экземпляром Message, и я хочу получить значение источника так же, как при печати сообщения. Но выполнение message.source дает мне код. Я хочу получить значение только из объекта, а не с помощью других перечислений/отображений/констант. В последней строке приведен пример того, как можно достичь ожидаемого значения, но я ищу более элегантный способ.
> сообщение > распечатать сообщение источник: ВЕБ > распечатать message.source 1 > message.DESCRIPTOR.fields_by_name['source'].enum_type.values_by_number[1].name ВЕБ
Мобильная версия