如何在Python中读取complex64值类型的二进制文件

时间:2016-06-26 23:27:51

标签: python

我有一个二进制文件,其中包含几个类型为complex64的复数? (即实部的浮点型为四个字节,虚部的另外四个字节)。实部和虚部是多路复用的,因此首先存储实部,然后是虚部。

1 个答案:

答案 0 :(得分:1)

我能够通过从complex64创建[0, 2+j, -3.14-7.99j]数组来重现您遇到的错误,将其保存到文件并将其作为Python内置complex类型读取。

问题是内置complex类型的大小为C double,根据您的平台形式,它可能与32位(我机器上的256位)不同。

您必须使用numpy.fromfile('file_name', dtype=numpy.complex64)正确读取文件,即确保将复数读取为两个32位浮点数。