如何使用h5py读取仅包含数据集(无组)的HDF5文件?

Jos*_*weg 6 python hdf5 python-2.7 h5py hdf

我有HDF5文件,我想使用Python模块h5py打开(在Python 2.7中).

当我有一个包含组和数据集的文件时,这很容易:

import h5py as hdf

with hdf.File(relative_path_to_file, 'r') as f:
    my_data = f['a_group']['a_dataset'].value
Run Code Online (Sandbox Code Playgroud)

但是,在我目前的情况下,我没有团体.只有数据集.不幸的是,无论我尝试什么,我都无法访问我的数据.以下工作都没有(全部中断KeyErrors或ValueErrors):

my_data = f['a_dataset'].value #KeyError

my_data = f['/a_dataset'].value #KeyError

my_data = f['/']['a_dataset'].value #KeyError

my_data = f['']['a_dataset'].value #ValueError

my_data = f['.']['a_dataset'].value #KeyError
Run Code Online (Sandbox Code Playgroud)

如果没有解决方案,我可以重新制作我的文件以拥有一个组.看起来应该有一个解决方案,但......

似乎h5py没有看到任何键:

f.keys()
[]
Run Code Online (Sandbox Code Playgroud)

Jos*_*weg 4

我发现了这个问题,我认为这是 h5py 应该解决的问题。

问题(我最初忘记在问题中详细说明,现已编辑)是我使用相对文件路径打开 hdf5 文件。当我使用绝对文件路径时,一切正常。

可悲的是,这会给我带来问题,因为我的代码旨在在不同的机器上可移植地运行......

感谢 gspr 和 jimmyb 的帮助:-)