MATLAB转Python读取.bin文件时数值不一致问题排查
MATLAB与Python读取.bin文件数值差异的原因及解决方法
问题背景
将读取.bin文件的MATLAB脚本转换为Python时,出现读取数值不一致的情况。通过十六进制工具验证,Python读取的数值与文件实际内容一致,但和MATLAB的结果存在差异。
MATLAB读取代码
fname = 'file.bin'; f=fopen(fname); data = fread(f, 100); fclose(f);
尝试的Python转换代码
fname = 'file.bin' with open(fname, mode='rb') as f: data= list(f.read(100))
验证情况
将两者读取的字节及索引对比后发现差异,通过$ hexdump -n 100 -C file.bin命令和HexEdit工具查看文件内容,确认Python读取的数值符合文件实际内容。
原因及解决方法
- 差异原因:MATLAB与Python代码实际读取的并非同一个文件,存在文件路径或文件结构的不一致问题。
- 解决方法:修正文件路径,确保两种语言指向同一个目标.bin文件。调整后已成功复现MATLAB的读取结果。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

