’无法打开对象(找不到组件)'

问题描述 投票:1回答:1

我正在尝试将test.sample(state)的输出分配给名为test_out.h5的文件,特别是要创建一个名为sample_的新组。但是,即使它可以正确编译和运行(作为一个更大的代码的一部分,但不能简化为一个最小的工作示例),当我尝试打开该文件时,仍然显示“无法打开对象(找不到组件)”。我知道this帖子以及this的存在,但我认为没有帮助。

   size_t num=5;

   {
   std::string test_out = "test_out.h5";
   H5::H5File f(test_out, H5F_ACC_TRUNC);

   for (size_t m = 0; m < num; m++){
      string name=std::to_string(m);
      H5::Group grp = f.createGroup("sample_"+name);
      test.sample(state);
      state.saveState(grp);}
    H5close();
    }

我正在尝试如下所示在Python3中打开文件:

     f4=h5py.File('<my_dir>/test_out.h5', 'r')
     print(list(f4.keys()))

并且它在那里失败。

[如果有人能指出错误,我将不胜感激。请记住,我不应该更改C ++代码中使用的任何软件包。

更新:相同的例程在另一台计算机上打开了该文件,因此我仍在尝试找出h5py安装突然出了什么问题。

python c++ h5py
1个回答
0
投票

我能够通过更改h5py的版本来打开文件。 Atm,我无法提供有关为什么在最新版本的h5py终端上运行突然出现问题的解释,但是jupyter notebook也可以与以前的h5py安装一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.