如何检查文件是否为有效的 HDF5 文件?

How can I check that a file is a valid HDF5 file?

根据给定的示例 ,我将文件图像作为具有有效处理程序的字符串加载到内存中。这是使用 H5LTopen_file_image().

完成的

如何检查文件是否为有效的 HDF5 文件?

我只找到了一个名为H5check的程序,它的源代码很复杂。所以,我想知道,是否有一个简单的函数和一个简单的 return 值来验证 hid_t 处理程序中的任何内容都是有效的 HDF5 文件?

在 C++ 中:

    std::string filename = "foo.h5";
    if(!H5::H5File::isHdf5(filename.c_str()))
    {
        std::string err_msg = filename + " is not an HDF5 file.\n";
        throw std::logic_error(err_msg);
    }

在Python中,使用

import h5py
if not h5py.is_hdf5('foo.h5'):
    raise ValueError('Not an hdf5 file')