h5文件即便放在工作目录或使用绝对路径仍无法打开问题求助
H5文件读取FileNotFoundError问题排查方案
- 首先校验文件名是否完全匹配
很多时候报错是因为文件名存在隐藏字符、大小写差异或者多余扩展名,不要手动输入文件名,执行以下代码打印目标目录下的所有文件名,直接复制输出的对应文件名使用:
额外确认文件是否有隐藏的后缀:Windows可在文件夹选项中开启「显示文件扩展名」,macOS/Linux可执行import os # 替换为你存放h5文件的目录路径,查看当前工作目录可以用print(os.getcwd()) print(os.listdir("/path/to/your/h5/directory"))ls -a查看完整文件名,避免出现实际文件名为N.2019-06.h5.txt的情况。 - 排查文件权限与占用问题
确认当前系统用户拥有该文件的读取权限:Windows右键文件查看「属性-安全」标签,确认当前用户有读取权限;macOS/Linux可执行ls -l N.2019-06.h5检查权限配置。同时确认该文件没有被其他HDF查看软件、写入进程占用,关闭所有打开该文件的程序后重试。 - 验证文件完整性
如果文件名和权限都没有问题,大概率是文件本身损坏。可以用官方HDFView工具尝试打开该文件,如果工具也无法读取,说明文件传输、下载过程中出现损坏,需要重新获取源文件。 - 路径转义问题排查
如果你使用绝对路径读取,Windows系统下需要注意路径转义:要么使用正斜杠/作为路径分隔符,要么给路径字符串加r前缀避免转义,示例:# 正确写法 infile = r"C:\data\N.2019-06.h5" infile = "C:/data/N.2019-06.h5" - 版本兼容排查
少数情况是文件使用高版本HDF5库生成,当前环境的h5py依赖的HDF5版本过低无法识别,可以执行命令升级h5py后重试:pip install --upgrade h5py
内容的提问来源于stack exchange,提问作者Vera S.
相关产品推荐
相关产品推荐

