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
我有一个使用 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