确定使用 h5py 创建的 HDF5 文件是否被压缩

Determine if a HDF5 file created with h5py is compressed or not

我有一个很简单的问题:

我可以确定使用 h5py 生成的 HDF5 文件是否被压缩(不读取其中的数据)吗?我需要知道它,因为我想根据它是否被压缩来改变我的策略。

显然,我找不到答案,但如果已经有人问过,我深表歉意。

压缩作为数据集属性处理。换句话说,有些可能会被压缩,有些则不会。在读取数据值时,您不需要知道数据集是否被压缩——它是自动处理的。

但是,如果您仍然想这样做,有几种方法可以检查。

  1. HDF5 h5dump 实用程序:h5dump -H -p filename
  2. HDF5 h5ls 实用工具:h5ls -v filename
  3. 少量Python/h5py代码获取数据集的.compression属性。

Python 代码如下:

with h5py.File('yourfile.h5') as h5f:
     print (h5f['dataset_name'].compression)