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

Posted

技术标签:

【中文标题】如何检查文件是不是为有效的 HDF5 文件?【英文标题】:How can I check that a file is a valid HDF5 file?如何检查文件是否为有效的 HDF5 文件? 【发布时间】:2015-09-30 02:01:18 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

在 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')

【讨论】:

否则我认为这将是一个错误。

以上是关于如何检查文件是不是为有效的 HDF5 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查字节数组是不是为有效的pdf文件[关闭]

如何检查 pdb 文件是不是对调试程序集有效

将 HDF5 文件转换为其他格式

如何检查文件是不是是有效的图像文件?

如何检查文件是不是是有效的图像文件?

如何有效地将数据附加到 C 中的 HDF5 表?