如何在protobufs中访问Python枚举?

19

我在名为skill.proto的protobuf文件中有以下内容:

message Cooking {
    enum VegeType {
        CAULIFLOWER = 0;
        CUCUMBER = 1;
    }
    required VegeType type = 1;
}

在另一个文件中(例如:name.py),我想将烹饪类型设置为黄瓜。即:

co = skill_pb2.Cooking()
co.type = skill_pb2.cooking.type.CUCUMBER

那最后一行不起作用。 我该如何将co.type设置为CUCUMBER?

注:我想避免使用co.type = 1

1个回答

32

7
我认为这个方法已经改变了,我必须这样做才能让它正常工作: skill_pb2.Cooking.VegeType.Value('CUCUMBER') - Eric Seifert
4
枚举类型的文档最多只是滑稽可笑:https://developers.google.com/protocol-buffers/docs/pythontutorial#enums - JeffCharter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接