Python 在 python 中实现 protobuf --decode-raw

too*_*ick 4 python protocol-buffers protobuf-python

我正在处理 protobuf 协议,并且遇到需要解码未知字段和类型的消息。我知道protoc --decode_raw这方面做得很好(可惜不够精确,但足够好)。

我正在考虑protoc --decode-raw在 shell 中运行并让 Python 读取其内容,将其解析为字典,但我认为这是实现的最后手段。

是否有实现相同功能的 Pythonic 方法?

shl*_*eim 5

使用blackboxprotobuf

pip install bbpb

它可以解析 protobuf 缓冲区而无需 proto 文件定义

message, typedef = blackboxprotobuf.protobuf_to_json(data)