【发布时间】:2009-03-10 18:13:05
【问题描述】:
C 程序将连续的双精度值输出到二进制文件中。我希望将它们读入 Python。我尝试使用struct.unpack('d',f.read(8))
编辑: 我在C中使用以下内容编写了一个随机双数
r = drand48();
fwrite((void*)&r, sizeof(double), 1, data);
错误现已修复,但我无法读取第一个值。对于全 0.000.. 数字,它读取为 3.90798504668055,但其余的都很好。
【问题讨论】:
-
它可能与不正确的 endiness 相关联(首先是最不重要的字节)。显示您要读取的字节数。
-
对不起。我几乎解决了这个问题,所以我将其标记为已回答。我希望看到第一个数字被正确读取。
-
您能否提供文件前 40 个字节的转储以及您当前用于读取它的代码?
-
嘿,我已经在这里上传了文件:s000.tinyupload.com/?file_id=70513514505809549127
-
这些是 0 到 1 之间的双精度数