在h5文件中本来有如下结构:
/
|-KLine
|-FQ (FQ是指向YS的一个softlink,但由于以前程序处理错误,变成了一个实际的group)
|-YS
因此需要将FQ在python程序中重新变回成link,但有些h5文件中FQ仍然是link(即有的正确,有的错误)!
因此需要先判断h5文件中的'FQ'是否正确。
方式一:
fh5 = h5py.File(h5_file_path, 'r')
bRes = (fh5['/KLine/FQ/'] == fh5['/KLine/YS/']) #参考文档中'Soft Links'中的示例
fh5.close()
方式二:
type_fq = fh5['KLine'].get('FQ', getlink=True, getclass=True)
bRes = (type_fq == type(h5py.SoftLink('/KLine/YS/'))))
fh5.close()
由于hdf5中存在softlink与hardlink之间的区别,所以方式二的判断方式能更符合问题本质。