如何智能地将多个参数写入hdf5文件

How do I write many parameters to an hdf5 file intelligently?

本文关键字:参数 文件 hdf5 何智能 智能      更新时间:2023-10-16

我试图使用hdf5写出分子动力学模拟产生的(x,y,z)坐标。API非常清楚如何做到这一点。我的问题是关于写模拟的参数。我需要在hdf5文件中写入大量的常量,比如大约100个。我认为这就是属性的作用。这样对吗?我的问题是属性API对此有点麻烦。我必须创建大量的标量属性,指定它们的类型和维度(大多数情况下是1),然后编写它们。我得写很多代码。常量可以是int, float, unsigned int,有时也可以是我创建的一些自定义类型。

有更好的方法吗?

是的,属性是书写这些信息的一种方式。

API可能看起来相当复杂,因为属性作为数据集共享大部分语义。可以在可以用数据集指定的属性中使用任何类型或形状。属性没有的唯一属性是压缩和分块。(而且属性不能包含属性!)

为了使编码不那么麻烦,您可以创建一个helper函数。如果您知道(例如)您的所有属性都是4字节的小端标量,那么您的辅助函数只需要父id、名称和值。