Python:从二进制文件读取数组
我现在正在尝试用Python读取一个Fortran文件,使用的方法是:
with open(myfile, "rb") as f:
for i in range (0, n):
s = struct.unpack('=f', f.read(4))
mylist.append(s[0])
但是对于大数组来说,这个速度非常慢。有没有办法一次性读取整个循环的内容,并把它放到我的列表(mylist)中,这样就可以避免一个一个地转换和添加每个项目呢?
非常感谢。
1 个回答
12
这就是 array
模块的用途:
a = array.array('f')
a.fromfile(f, n)
现在你可以像使用普通的序列类型一样使用数组对象。如果需要的话,你还可以用 tolist
把它转换成列表。