The*_*CAL 4 python protocol-buffers
是否可以以编程方式检查给定的原型字段是否标记为requiredvs optional?我正在使用 python 并有一个FieldDescriptor对象,但找不到方法来确定该字段是否是必需的。
快速浏览一下文档就会发现您FieldDescriptor应该有一个label属性来指示它是可选的、必需的还是重复的。
from google.protobuf.descriptor import FieldDescriptor
if fd.label == FieldDescriptor.LABEL_OPTIONAL:
# do thing
elif fd.label == FieldDescriptor.LABEL_REQUIRED:
# do other thing
else:
# do third thing
Run Code Online (Sandbox Code Playgroud)