Вы можете просто сделать что-то вроде этого (не проверено, но должно работать):
import h5py
def copy(dest, name):
g = dest.require_group(name) # create output group with the name of input file
def callback(name, node):
if isinstance(node, h5py.Dataset): # only copy dataset
g.create(name, data=node[:])
with h5py.File('out.h5', 'w') as h5_out:
for f_in in files:
with h5py.File(f_in, 'r') as h5_in:
h5_in.visititems(copy(h5_out, f_in))
Это создаст «папку» (группу HDF5) для каждого из файлов и рекурсивно скопирует туда все содержимое.
См. Также: связанный вопрос .