数据编组支持

这些例程允许 C 代码使用与marshal模块相同的数据格式来处理序列化对象。有一些Function可将数据写入序列化格式,还有一些附加Function可用于读回数据。必须以二进制模式打开用于存储编组数据的文件。

数值先存储最低有效字节。

该模块支持两种版本的数据格式:版本 0 是历史版本,版本 1 在文件中共享内联字符串,并且在解组时也是如此。版本 2 将二进制格式用于浮点数。 Py_MARSHAL_VERSION表示当前文件格式(当前为 2)。

返回一个包含* value *的编组表示形式的字节对象。 * version *表示文件格式。

以下Function允许读回编组的值。

发生错误时,设置适当的异常(EOFError)并返回-1

发生错误时,设置适当的异常(EOFError)并返回-1

从打开的FILE*中读取数据流中的 Python 对象。

出错时,设置适当的异常(EOFErrorValueErrorTypeError)并返回NULL

从打开的FILE*中读取数据流中的 Python 对象。与PyMarshal_ReadObjectFromFile()不同,此函数假定不会再从文件中读取任何对象,从而使其可以将文件数据积极地加载到内存中,以便反序列化可以从内存中的数据进行操作,而不是一次从文件中读取一个字节。仅当您确定不会从文件中读取其他内容时,才使用这些变体。

出错时,设置适当的异常(EOFErrorValueErrorTypeError)并返回NULL

在字节缓冲区中从数据流返回一个 Python 对象,该缓冲区包含* data 指向的 len *个字节。

出错时,设置适当的异常(EOFErrorValueErrorTypeError)并返回NULL

首页