在我的protobuf文件 skill.proto 中,我具有:
message Cooking {
enum VegeType {
CAULIFLOWER = 0;
CUCUMBER = 1;
}
required VegeType type = 1;
}
在另一个文件(例如:name.py)中,我想将 cooking 类型设置为 cucumber 。 IE:
co = skill_pb2.Cooking()
co.type = skill_pb2.cooking.type.CUCUMBER
这样那最后一行就行不通了。 如何将co.type设置为CUCUMBER?
注意:我想避免做co.type = 1
最佳答案
只是一个错字和一些大写字母。
skill_pb2.Cooking.CUCUMBER
参见https://developers.google.com/protocol-buffers/docs/pythontutorial
更新:protobuf中的accessing enums现在有三种可能的方法:
skill_pb2.Cooking.CUCUMBER
skill_pb2.Cooking.VegeType.CUCUMBER
skill_pb2.Cooking.VegeTypeValue.Value('CUCUMBER')
第二个是较新的,如this issue中所述。