Проблема заключается в порядке строк for num in range(…)
и with h5py.File(…)
; как вы его написали, вы будете закрывать файл каждый раз, когда загружаете новый файл, и, поскольку h5py.File()
вызывается в режиме 'w'
, он будет (правильно) перезаписывать "outputfilename.hdf5"
в каждом цикле.
Решение: просто переключите эти линии.
В качестве альтернативы (но это, вероятно, требует больше кода!), Вы можете использовать режим файла «добавления», то есть with h5py.File("outputFileName.hdf5", "a") as f
- но тогда вы, скорее всего, столкнетесь с RuntimeError: 'Unable to create link (name already exists)'
, если вы запустите скрипт более одного раза (итеративно). Вы можете , конечно, написать дополнительный код, который проверяет существующие пути в файле hdf5
и реализует некоторую логику обновления / замены, но это может занять некоторое время для кодирования.