考虑以下结构
message Fly {
uint32 dtime = 1;
}
Run Code Online (Sandbox Code Playgroud)
但HasField功能不起作用:
>>> d.ListFields()[0][0].name
'dtime'
>>> d.ListFields()[0][0].full_name
'Fly.dtime'
>>>
>>> d.HasField('dtime')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/.../lib/python2.7/site-packages/google/protobuf/internal/python_message.py", line 825, in HasField
raise ValueError(error_msg % field_name)
ValueError: Protocol message has no non-repeated submessage field "dtime"
>>> d.HasField('Fly.dtime')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/.../lib/python2.7/site-packages/google/protobuf/internal/python_message.py", line 825, in HasField
raise ValueError(error_msg % field_name)
ValueError: Protocol message has no non-repeated …Run Code Online (Sandbox Code Playgroud)