Я пытаюсь удалить подгруппу, которую я написал в файле HDF5, используя h5py в Python. Например, согласно документации, подгруппу под названием «MyDataset» можно удалить с помощью:
del subgroup["MyDataset"]
Я сделал это, и фактически подгруппа больше не доступна. Однако файлы не уменьшают его размер. Мой вопрос, возможно ли восстановить пространство из удаленных подгрупп с помощью h5py без необходимости перезаписи оставшихся подгрупп в совершенно новый файл? Ниже я привожу небольшой пример, который иллюстрирует то, что я говорю:
import numpy as np
import h5py
myfile = h5py.File('file1.hdf5')
data = np.random.rand(int(1e6))
myfile.create_dataset("MyDataSet", data=data)
myfile.close()
Затем я открываю файл и удаляю предыдущую запись:
myfile = h5py.File('file1.hdf5')
del myfile["MyDataSet"]
и если вы попытаетесь получить данные, используя:
myfile["MyDataSet"].value
вы поймете, что данные больше не доступны. Однако, если вы проверите размер файла, он останется постоянным до и после вызова del.