参考stackoverflow上的回答
https://stackoverflow.com/questions/11502113/how-to-get-top-level-protobuf-enum-value-name-by-number-in-python
当在file.proto中存在下面的enum类型变量时.
enum test_enum {
ONE = 1;
TWO = 2;
}
我们可以通过如下方式分别获取类型名字符串和对应类型id的映射
import file_pb2 import test_enum
#获取enmu的所有value值
print(test_enum.values())
#根据指定类型名称获取对应id编号
type_name="ONE"
type_id=test_enum.Value(type_name)
print(type_id)
#根据指定id编号,获取对应类型名称字符串
type_id=2
type_name=test_enum.Name(type_id)
print(type_name)
本文介绍了如何使用Python处理protobuf中的enum类型,包括获取所有值、根据名称查找ID和根据ID获取名称。重点讲解了通过`file.proto`中的test_enum`进行类型和值的操作。
9581

被折叠的 条评论
为什么被折叠?



