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