Roh*_*tty 2 python protocol-buffers
我正在使用proto3,并且在某些.proto文件中有一条消息定义为:
message Response {
google.protobuf.BoolValue field = 1;
...
}
Run Code Online (Sandbox Code Playgroud)
为了Response在Python中进行初始化,我需要创建一个布尔基元包装器并附加一些值。
如果将这个值初始化为True,这很好。从Python笔记本中:
In [52]: from google.protobuf import wrappers_pb2 as wrappers
boo = wrappers.BoolValue(value=True)
boo
Out [52]: value: true
Run Code Online (Sandbox Code Playgroud)
如果要将此值初始化为False,则不会创建任何包装的对象:
In [52]: from google.protobuf import wrappers_pb2 as wrappers
boo = wrappers.BoolValue(value=False)
boo
Out [52]:
Run Code Online (Sandbox Code Playgroud)
如何创建一个BoolValue初始化为false的?
非truthy值从字段列表中删除这里实现。
>> boo = wrappers.BoolValue(value=True)
>> boo.ListFields()
[(<google.protobuf.descriptor.FieldDescriptor object at 0x10a037bd0>, True)]
>> boo = wrappers.BoolValue(value=False)
>> boo.ListFields()
[]
Run Code Online (Sandbox Code Playgroud)
为了访问消息值,您可以这样编写:
>> boo = wrappers.BoolValue(value=True)
>> boo.value
True
>> boo = wrappers.BoolValue(value=False)
>> boo.value
False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
983 次 |
| 最近记录: |