将protobuf字节流到文件(python)

将protobuf字节流到文件(python),python,stream,protocol-buffers,Python,Stream,Protocol Buffers,我正在编写一个服务器的python客户端,它的消息中有一些元数据,后跟一些必需的字节。对于我的用例,我不需要一次将所有的字节存储在内存中,因此理想情况下,我希望能够解析元数据,然后能够以流式方式与字节交互,而不必先将它们全部拉入内存。python API是否可以实现这一点?不,python API不支持这一点。从理论上讲,您可能可以通过手工编写的解析器来完成这一任务,但这并不能保证消息编写器可以按任何顺序编写字段,因此它很可能会将字节放在第一位。(在实践中,大多数实现都会按照字段编号的顺序写入,

我正在编写一个服务器的python客户端,它的
消息中有一些元数据,后跟一些
必需的
字节。对于我的用例,我不需要一次将所有的
字节
存储在内存中,因此理想情况下,我希望能够解析元数据,然后能够以流式方式与
字节
交互,而不必先将它们全部拉入内存。python API是否可以实现这一点?

不,python API不支持这一点。从理论上讲,您可能可以通过手工编写的解析器来完成这一任务,但这并不能保证消息编写器可以按任何顺序编写字段,因此它很可能会将字节放在第一位。(在实践中,大多数实现都会按照字段编号的顺序写入,但这意味着如果您添加了一个新字段,它很可能会出现在字节之后!)

一般来说,ProtoBuf的设计不是为了在单个消息中表示大量数据。有关更多信息,请参见文档中的