【发布时间】:2014-12-19 14:37:19
【问题描述】:
我有一个 hdf5 文件,我想通过删除其中一个数据集的属性来修改并保存该文件而不进行进一步更改。我可以在 hdfview 中执行此操作,但我需要可编写脚本的内容,因为它需要应用于大量文件。
我尝试使用 h5py 在 python 中编写脚本:
import h5py
inF = h5py.File("Filename.h5", 'r')
dSet = inF['/data/myDataset']
del dSet.attrs['myAttrName']
但我收到以下错误:
Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件“/usr/lib/python2.7/dist-packages/h5py/_hl/attrs.py”, 第 75 行,在 delitem 中 h5a.delete(self._id, self._e(name)) 文件“h5a.pyx”,第 135 行,在 h5py.h5a.delete (h5py/h5a.c:2682) KeyError:“无法删除 属性(属性:不能删除消息)"
print dSet.attrs['myAttrName'] 产生正确的值,证明我可以访问该属性。
还有其他方法可以做到这一点吗?也许使用 h5repack?
【问题讨论】: