Edw*_*per 5 python protocol-buffers
是否有任何官方支持的方法来获取 Python 中给定 ProtoBuf 消息的父消息?Python protobuf 接口的设计方式可以保证每条消息最多有一个父消息。如果能够在不构建外部索引的情况下从消息导航到其父级消息,那就太好了。
显然,这些信息是存在的,我可以使用以下代码来获取指向任何给定消息的父级的弱指针:
>>> my_parent = my_message._listener._parent_message_weakref
Run Code Online (Sandbox Code Playgroud)
然而,这使用内部属性——如果可能的话,我宁愿使用官方支持的方法。
如果没有官方支持的方法来执行此操作,那么我需要决定是构建外部子→父索引(这可能会损害性能),还是使用这种“hackish”方法(适当包装)。