用于 Python 的 HDF5:高级与低级接口。 h5py

Posted

技术标签:

【中文标题】用于 Python 的 HDF5:高级与低级接口。 h5py【英文标题】:HDF5 for Python: high level vs low level interfaces. h5py 【发布时间】:2011-12-27 03:43:35 【问题描述】:

我一直在使用 CMatlab 处理 HDF5 文件,它们都使用相同的方式读取和写入数据集:

h5f打开文件 用h5d打开数据集 用h5s选择空间

等等……

但现在我正在使用Python,以及它的h5py 库,我发现它有两种管理HDF5 的方法:高级接口和低级接口。而对于前者,从文件的单个变量中获取信息所需的代码行数更少。

使用高级接口时是否有明显的性能损失? 例如,当处理一个包含许多变量的文件时,我们必须只读取其中一个。

【问题讨论】:

在大多数情况下,应该不会有明显的差异。为什么不直接剖析一下看看呢? 分析是我接下来要做的事情之一,但是已经面临这个问题的人的任何其他意见总是很有价值的! 【参考方案1】:

高级接口通常会导致某种性能损失。之后,它是否引人注目(值得调查)将取决于您对代码所做的确切操作。

从高级界面开始。如果代码整体太慢,请开始分析并将瓶颈移至较低级别的接口,看看是否有帮助。

【讨论】:

以上是关于用于 Python 的 HDF5:高级与低级接口。 h5py的主要内容,如果未能解决你的问题,请参考以下文章

python学习之高级语言和低级语言

01 python安装与初识

Python系列HDF5文件介绍

Python Python基础

用于python和R之间数据交换的HDF5

调试:高级与低级错误