Python,如何将二维数组精确写入二进制文件(uint8,uint16)?

问题描述 投票:0回答:1

我希望有人可以向我解释如何将二进制输出写入文本文件。

我知道在matlab中,它非常简单,因为它有'fwrite'函数,其格式如下:fwrite(fileID,A, precision)

但是,我不知道如何将其翻译为Python。我目前将数据存储在二维 numpy 数组中,并希望以与 matlab 相同的方式将其写入文件。

我尝试过以下方法:

#let Y be the numpy matrix
with open (filepath,'wb') as FileToWrite:
    np.array(Y.shape).tofile(FileToWrite)
    Y.T.tofile(FileToWrite)

然而,这并没有达到预期的结果。文件太大并且数据格式不正确。 理想情况下,我应该能够将数据格式指定为 uint8 或 uint16。

任何帮助将不胜感激。

python matlab binary
1个回答
1
投票

所以,我想通了。解决办法如下。

#let Y be the numpy matrix
with open (filepath,'wb') as FileToWrite:
    np.asarray(Y, dtype=np.uint8).tofile(FileToWrite)
© www.soinside.com 2019 - 2024. All rights reserved.