# Create a proto object and serialize it to a text proto string.message=my_proto_pb2.MyMessage(foo='bar')text_proto=text_format.MessageToString(message)# Parse a text proto string.message=text_format.Parse(text_proto,my_proto_pb2.MyMessage())
Signature:
text_format.Parse(
text,
message,
allow_unknown_extension=False,
allow_field_number=False,
descriptor_pool=None,
allow_unknown_field=False,
)
Docstring:
Parses a text representation of a protocol message into a message.
NOTE: for historical reasons this function does not clear the input
message. This is different from what the binary msg.ParseFrom(...) does.
If text contains a field already set in message, the value is appended if the
field is repeated. Otherwise, an error is raised.
Example::
a = MyProto()
a.repeated_field.append('test')
b = MyProto()
# Repeated fields are combined
text_format.Parse(repr(a), b)
text_format.Parse(repr(a), b) # repeated_field contains ["test", "test"]
# Non-repeated fields cannot be overwritten
a.singular_field = 1
b.singular_field = 2
text_format.Parse(repr(a), b) # ParseError
# Binary version:
b.ParseFromString(a.SerializeToString()) # repeated_field is now "test"
Caller is responsible for clearing the message as needed.
Args:
text (str): Message text representation.
message (Message): A protocol buffer message to merge into.
allow_unknown_extension: if True, skip over missing extensions and keep
parsing
allow_field_number: if True, both field number and field name are allowed.
descriptor_pool (DescriptorPool): Descriptor pool used to resolve Any types.
allow_unknown_field: if True, skip over unknown field and keep
parsing. Avoid to use this option if possible. It may hide some
errors (e.g. spelling error on field name)
Returns:
Message: The same message passed as argument.
Raises:
ParseError: On text parsing problems.
File: /media/pc/data/lxw/envs/anaconda3a/envs/py313/lib/python3.13/site-packages/google/protobuf/text_format.py
Type: function
Signature:
text_format.Merge(
text,
message,
allow_unknown_extension=False,
allow_field_number=False,
descriptor_pool=None,
allow_unknown_field=False,
)
Docstring:
Parses a text representation of a protocol message into a message.
Like Parse(), but allows repeated values for a non-repeated field, and uses
the last one. This means any non-repeated, top-level fields specified in text
replace those in the message.
Args:
text (str): Message text representation.
message (Message): A protocol buffer message to merge into.
allow_unknown_extension: if True, skip over missing extensions and keep
parsing
allow_field_number: if True, both field number and field name are allowed.
descriptor_pool (DescriptorPool): Descriptor pool used to resolve Any types.
allow_unknown_field: if True, skip over unknown field and keep
parsing. Avoid to use this option if possible. It may hide some
errors (e.g. spelling error on field name)
Returns:
Message: The same message passed as argument.
Raises:
ParseError: On text parsing problems.
File: /media/pc/data/lxw/envs/anaconda3a/envs/py313/lib/python3.13/site-packages/google/protobuf/text_format.py
Type: function