关闭文件后如何在内存中保留h5py组?

时间:2014-10-22 21:55:09

标签: python h5py

关闭文件后,如何在内存中保留h5py组?

在以下代码之后:

import h5py

feature_file = h5py.File(worm_file_path, 'r')
worm_features = feature_file["worm"]

我可以访问worm_features,因为它是h5py group<HDF5 group "/worm" (4 members)>

但是在我开始行之后:

feature_file.close()

我无法再访问worm_features了。它现在显示为<Closed HDF5 group>

由于我需要为大约20个文件加载worm_features h5py组,我想在处理我加载到内存中的数据之前关闭这些文件。这不可能吗?

2 个答案:

答案 0 :(得分:3)

使用.value从数据集中提取所需的变量。

示例:

import h5py

feature_file = h5py.File(worm_file_path, 'r')
worm_features = feature_file["worm"].value
feature_file.close()
print worm_features

答案 1 :(得分:0)

使用 [:] 将数据集的值复制到一个变量中,以便在关闭 hdf5 文件后访问数据集。

import h5py

feature_file = h5py.File(worm_file_path, 'r')
worm_features = feature_file["worm"] [:]
feature_file.close()
print (worm_features)

.value 对我不起作用并引发以下错误:

AttributeError: 'Dataset' object has no attribute 'value'