У меня есть файл hdf5, который я хочу изменить, удалив атрибут одного из наборов данных и сохраните файл без дальнейших изменений. Я могу сделать это в hdfview, но мне нужно что-то написанное, потому что оно должно применяться к большому количеству файлов.Удалить атрибут набора данных из файла HDF5
Я пытался писать сценарий в Python, используя h5py:
import h5py
inF = h5py.File("Filename.h5", 'r')
dSet = inF['/data/myDataset']
del dSet.attrs['myAttrName']
Но я получаю следующее сообщение об ошибке:
Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.7/dist-packages/h5py/_hl/attrs.py", line 75, in delitem h5a.delete(self._id, self._e(name)) File "h5a.pyx", line 135, in h5py.h5a.delete (h5py/h5a.c:2682) KeyError: "unable to delete attribute (Attribute: Can't delete message)"
print dSet.attrs['myAttrName']
производит правильное значение, доказав я могу получить доступ к атрибуту.
Есть ли другие способы сделать это? Возможно, используя h5ppack?