pythonprotocol-buffers

How do I compare the contents of two Google Protocol Buffer messages for equality?


I can't seem to find a comparison method in the API. I have these two messages, and they have a lot of different values that sometimes drill down to more values (for example, I have a Message that has a string, an int, and a custom_snapshot, where custom_snapshot is comprised of an int, a string, and so on). I want to see if these two messages are the same. I don't want to compare each value one by one since that will take a while, so I was wondering if there was a quick way to do this in Python?

I tried doing messageA.debugString() == messageB.debugString(), but apparently there is no debugString method that I could access when I tried.


Solution

  • Protocol buffers have a method SerializeToString(deterministic=True) which can be used to serialize them.

    Use it to compare your messages.