在h5py中混合高级和低级接口

时间:2012-08-19 00:14:49

标签: python hdf5 h5py

我想知道是否有办法将高级API与使用h5py的低级API混合使用。

示例:我有一个hdf5文件,我正通过高级接口访问。

import h5py
f = h5py.File("Somefile.h5")
ds = f["/path/to/some/Dataset"]

现在,ds对象是h5py.Dataset,它非常适合我需要做的大部分工作。但是,我想弄清楚存储在磁盘上的数据集的大小。低级接口提供h5py.h5d.DatasetID.get_storage_space(),它完全符合我的要求,但我不知道如何从我的高级对象中调用它。

有没有办法从高级API中找到底层的低级对象?

1 个答案:

答案 0 :(得分:3)

找到解决方案。虽然不在文档中,但使用dir()以交互方式搜索高级对象显示了解决方案。高级对象具有指向其对应的低级对象的链接,这些对象具有非显而易见的名称。

在上面的问题中,ds._id返回与数据集关联的DatasetID。现在我可以致电ds._id.get_storage_space()