下面是一个使用低级h5py API的示例..get_offset()
方法适用于任何DataSet对象.下面的示例显示了如何通过两种方式获取低级id(和偏移量):1)通过对象引用;2)通过名称引用.
# first create a simple file with 3 datasets
with h5py.File('SO_76068934.h5','w') as h5f:
data = [float(i) for i in range (10)]
h5f.create_dataset('ds_1', data=data)
data = [float(i) for i in range (10,20)]
h5f.create_dataset('ds_2', data=data)
data = [float(i) for i in range (20,30)]
h5f.create_dataset('ds_3', data=data)
# open the file in read mode and get dataset objects, IDs and Offsets
with h5py.File('SO_76068934.h5','r') as h5f:
# loop over root level dataset names and objects
for ds_name, ds_obj in h5f.items():
# referencing dataset object:
ds_id = ds_obj.id # get low level dataset ID from object
ds_off = ds_id.get_offset() # Low-level method
print(f'For: {ds_name}; Offset: {ds_off}')
# referencing dataset name:
ds_off = h5f[ds_name].id.get_offset() # get ID and offset in 1 step
print(f'For: {ds_name}; Offset: {ds_off}\n')