Python相当于MATLABs fopen(filename,' rb',machinetype)

时间:2015-07-16 10:43:02

标签: python matlab file

Python提供了一种使用

打开二进制文件的方法
open(filename, 'rb')

然而,在Matlab中,还可以将机器类型指定为

fopen(filename, 'rb', machinetype)

所以我正在寻找一种在python中指定Machinetype(Intel / Motorola)的方法。

1 个答案:

答案 0 :(得分:3)

在Python中,这是在读取文件时处理的,而不是在打开文件时处理的。

打开二进制文件后,需要将其读入某些数据结构。执行此操作的两种常用方法是使用struct.unpacknumpy.fromfile,这两种方法都允许您基于每个项目设置字节顺序。 struct.unpack读取给定的数字和/或字符序列一次,而numpy.fromfile一遍又一遍地读取它并将结果放入数组中。

在这两种情况下,将'>'放在类型字符串的开头会使它成为big-endian,而放'<'会使它成为little-endian。因此,例如'>d'在两种情况下都将被视为小端双。

这允许您在同一文件中读取具有多个字节顺序的文件。