Python:读取二进制文件中的数组

时间:2012-02-13 11:41:10

标签: python arrays binaryfiles

我目前正在尝试使用以下技术读取带有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 个答案:

答案 0 :(得分:10)

这是array模块的用途:

a = array.array('f')
a.fromfile(f, n)

现在您可以像使用普通序列类型一样使用数组对象。如果需要tolist,也可以将其转换为列表。