如何解决如何在C程序生成的python中打开复数文件?
我的代码
with open('car.FT','r',encoding="utf-8",errors='ignore') as h:
for line in h:
print(line)
文件“ car.FT”是具有复杂值存储的傅里叶变换的输出。它是通过C程序编写的,但我想用python打开此文件。 使用上面的这段代码无法读取输出。 该文件用C编写:
typedef struct complex { /* Define a complex type */
float r,i; /* Real and imaginery parts */
} COMPLEX;
/* buffer for input image being converted into complex type */
COMPLEX IN_BUF[ROWS][COLS];
///PROCESSING ON IN_BUF////
fwrite(IN_BUF,sizeof(COMPLEX),ROWS*COLS,fout);
以下是文件中实际的数据。我想读。
我想在python中读取以上文件数据。
解决方法
根据C代码判断,这些数字被写为二进制浮点数,所显示的是文件内容的十六进制输出。在这种情况下,当您尝试将其作为文本文件读取时,必须阅读 binary 内容。
您必须以二进制模式(rb
打开文件,使用struct.unpack
读取并转换每个float值(长4个字节),并将成对的float转换为{{1} }。这是一个简单的实现(未经测试):
complex
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。