有什么方法可以从hdf5文件中删除数据集,最好使用h5py?或者,是否有可能在保留其他数据集完整的同时覆盖一个数据集?
据我了解,h5py可以5种模式读取/写入hdf5文件
f = h5py.File("filename.hdf5",'mode')
其中模式可以是用于读取的
r
,用于读写的r+
,用于读写的a
,但创建一个新文件(如果不存在),用于写入/覆盖的w
和与w-
相同的w
,但如果文件已存在则失败。我已经尝试了所有方法,但似乎都没有效果。任何建议,不胜感激。
最佳答案
是的,可以这样做。
with h5py.File(input, "a") as f:
del f[datasetname]
您将需要以可写模式打开文件,例如,append(如上所述)或write。
正如@ seppo-enarvi在评论中指出的那样,以前推荐的
f.__delitem__(datasetname)
函数的目的是实现del
运算符,以便人们可以使用del f[datasetname]
删除数据集。关于python - 使用H5PY删除HDF5数据集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31861724/