Python 可以使用组对象提取hdf5的文件对象吗?
我用ipython打开了一个hdf5文件Python 可以使用组对象提取hdf5的文件对象吗?,python,python-2.7,ipython,hdf5,h5py,Python,Python 2.7,Ipython,Hdf5,H5py,我用ipython打开了一个hdf5文件 import h5py as h5 f = h5.File("fname.h5", "r") 然后我访问了该文件中的一个组 g1 = f['group1'] 然后我意外地用另一个文件重写了f。第一个文件仍然打开,我可以从g1访问内容,但无法访问f中的任何其他组。有没有办法使用g1找回文件对象?当然,我可以关闭并重新打开文件,但我想知道是否还有其他方法。不确定这个问题是否值得存在,但我找到了答案。组具有指向父级的parent属性。要获取原始文件,只需使
import h5py as h5
f = h5.File("fname.h5", "r")
然后我访问了该文件中的一个组
g1 = f['group1']
然后我意外地用另一个文件重写了
f
。第一个文件仍然打开,我可以从g1
访问内容,但无法访问f
中的任何其他组。有没有办法使用g1
找回文件对象?当然,我可以关闭并重新打开文件,但我想知道是否还有其他方法。不确定这个问题是否值得存在,但我找到了答案。组具有指向父级的parent
属性。要获取原始文件,只需使用f=g1.parent
编辑:实际上,虽然这允许您从
/
访问组,但新的f
将引用组/
,而不是文件。因此,您不能使用f
关闭文件,也不能访问任何其他文件属性。您可以使用组的文件
属性:
f = g1.file
根据for组
属性:
文件此组所在的文件实例
是的,如果你是多个小组的话,这可能比父母的好。