如何获取python协议消息的枚举字段的值名

2024-05-29 02:14:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我还不喜欢protobuf,但我会试着提出一个问题。鉴于我有:

  enum SourceType {
     WEB = 1;
  }
  message Message {
    optional SourceType source = 6;
  }

我有一个message实例,我想得到源的值,就像打印消息一样。但是做消息源给我密码。我只想从对象中获取值,而不是使用其他枚举/映射/常量。在最后一行中,我举了一个例子来说明如何达到期望值,但我正在寻找一种更优雅的方法。在

^{pr2}$

Tags: 对象实例web消息密码sourcemessageenum
2条回答

我相信使用EnumDescriptor是获得枚举值名称的唯一方法。当然,您可以围绕它编写一个helper函数,使其不那么冗长。在

EnumTypeWrapper类有一个Name方法,该方法返回enmum值的名称。所以在本例中,从Message_pb2导入SourceType之后,SourceType.Name()将返回值的名称。在

相关问题 更多 >

    热门问题