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

The*_*ist 6 c++ validation hdf5 hdf

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

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

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

use*_*717 5

在 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);
    }
Run Code Online (Sandbox Code Playgroud)

在Python中,使用

import h5py
if not h5py.is_hdf5('foo.h5'):
    raise ValueError('Not an hdf5 file')
Run Code Online (Sandbox Code Playgroud)