h5py 是否将整个文件读入内存?
如果是这样,如果我有一个非常非常大的文件怎么办?
如果不是的话,每次要单个数据就从硬盘取数据会不会很慢?我怎样才能让它更快?
如果您需要将整个 HDF5 文件(可能是嵌套的)加载到内存中,这里有一个简单的实用函数:
def load_entire_hdf5(dct):
if isinstance(dct, h5py.Dataset):
return dct[()]
ret = {}
for k, v in dct.items():
ret[k] = load_entire_hdf5(v)
return ret
with h5py.File("<filepath>", "r") as f:
data = load_entire_hdf5(f)