python - '无法打开对象(未找到组件)'
问题描述
我正在尝试将 test.sample(state) 的输出分配给名为 test_out.h5 的文件,特别是创建一个名为 sample_ 的新组。但是,即使它编译和运行正常(作为无法简化为最小工作示例的更大代码的一部分),当我尝试打开文件时,我得到“无法打开对象(找不到组件)”。我知道这个帖子的存在,以及这个,我觉得没有帮助。
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 安装突然出现的问题。
解决方案
我可以通过更改 h5py 的版本来打开文件。Atm,我无法解释为什么在使用最新版本的 h5py 的终端上运行突然出现问题,但 jupyter notebook 也适用于以前的 h5py 安装。
推荐阅读
- google-app-engine - 无法开始备份:请求失败,状态码为 400 Google Cloud
- reactjs - Nivo 响应栏(TypeError:instruction.match 不是函数)
- excel - 如何为 Excel 列中的替代单元格添加值?
- image - 从本地主机挂载目录到容器的问题
- python - pythonic方式来处理if-else
- php - 是否可以通过 API 更新关键字的文本
- jquery - 试图在 ts 文件中隐藏模式,但它根本不起作用
- laravel-5 - 使用 Laravel 生成 pdf
- flutter - 如何为下拉列表中的选定项目应用填充
- python - 在 Windows x64 上的 Python 中将 numpy.int64 数据类型解释为本机 int 数据类型