在 h5py 中使用简单键检查的 hdf5 警告

hdf5 warning with simple key check in h5py

当我用 h5py 打开 h5 文件 file.h5 并检查某个键时: 那么这不起作用:

found = "data" in h5File.keys() # warning on this line
if found:
         a = h5File["data"][...]

并发出以下警告:

HDF5-DIAG: Error detected in HDF5 (1.8.15-patch1) thread 0:
   #000: /cluster/home/nuetzig/installHDF5/hdf5-1.8.15-patch1/src/H5Gdeprec.c line 893 in H5Gget_objinfo(): not a location
     major: Invalid arguments to routine
     minor: Inappropriate type
   #001: /cluster/home/nuetzig/installHDF5/hdf5-1.8.15-patch1/src/H5Gloc.c line 173 in H5G_loc(): invalid file ID
     major: Invalid arguments to routine
     minor: Bad value

但是从 h5File.keys() 中创建一个类型为 KeysViewWithLock(<HDF5 file "file.h5" (mode r)>) 的集合 作品:

found = "data" in set(h5File.keys()) 
if found:
    a = h5File["data"][...]

有人知道问题出在哪里吗?

我不得不说,该文件驻留在集群上的并行网络存储 (Lustre) 上... 注意:同样 "data" in h5File 不起作用

问题已解决:

已手动重新安装 h5py 通过

python3 setup.py configure --hdf5-version=1.8.15
python3 install

不知为何版本没有设置,用的是1.8.4,不知道为什么...