关闭文件后,如何在内存中保留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组,我想在处理我加载到内存中的数据之前关闭这些文件。这不可能吗?
答案 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'