Джейсон, вот небольшой фрагмент кода, который демонстрирует как аргумент createparents
с методом create_table()
, так и File.__contains__(path)
, чтобы проверить 3 разных имени группы и вывести результаты.
import tables as tb
import numpy as np
h5f = tb.open_file('SO_54080906.h5','w')
ds_dtype = np.dtype([('a',float),('b',float),('c',float)])
arr = np.array(np.arange(30.0).reshape(10,3))
recarr = np.core.records.array(arr,dtype=ds_dtype)
#create agroup at root level
h5f.create_group(h5f.root, 'agroup')
#create dataset 1 at root.bgroup level
dataset1 = h5f.create_table('/bgroup', 'dataset1',
createparents=True, obj=recarr )
for grpname in ['/agroup', '/bgroup' , '/cgroup']:
if h5f.__contains__(grpname) :
print ('found path for:', grpname)
else:
print ('path doesnt exist for:', grpname)
h5f.close()
Вывод выглядит так:
found path for: /agroup
found path for: /bgroup
path doesnt exist for: /cgroup