Python - 如何读取这个bin文件?

Python - How to read this bin file?

我有一个使用 Matlab 保存的 .bin 文件,其中包含以下双精度值:[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0]

我想读取这个 bin 文件并将所有偶数值存储在一个列表中,将所有奇数值存储在另一个列表中。例如,我会得到这样的结果:

even_values = [2.0, 4.0, 6.0, 8.0, 10.0]
odd_values  = [1.0, 3.0, 5.0, 7.0, 9.0]

我可以一次读取整个 bin 文件。这是我的代码:

import numpy as np
data = open('bin_file', 'rb')
all_values = np.fromfile(data,dtype=np.float32)

我的问题是:

有没有办法读取这个bin文件两次?

第一次我只想读取偶数,第二次我想读取奇数。有办法吗?

首先,您是否应该使用 float 来比较偶数和奇数?无论如何,只需打开文件,然后创建新的 numpy 对象。

import numpy as np
with open('bin_file', 'rb') as data:
    all_values = np.fromfile(data, dtype=np.float32)
even_values = all_values[all_values % 2 == 0]
odd_values  = all_values[all_values % 2 == 1]
del all_values  # if you're really worried about memory