データセットの 1 つの属性を削除して変更したい hdf5 ファイルがあり、それ以上変更せずにファイルを保存します。hdfview でこれを行うことができますが、多数のファイルに適用する必要があるため、スクリプト可能なものが必要です。
h5pyを使用して、pythonでスクリプトを書いてみました:
import h5py
inF = h5py.File("Filename.h5", 'r')
dSet = inF['/data/myDataset']
del dSet.attrs['myAttrName']
しかし、次のエラーが表示されます。
トレースバック (最新の呼び出しが最後): ファイル ""、1 行目、ファイル "/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を使用していますか?