
博客主页瑕疵的CSDN主页 Gitee主页瑕疵的gitee主页⏩ 文章专栏《热点资讯》被Keras模型保存路径坑了整晚终于摸清了门道目录昨晚写完模型想存个checkpoint结果Keras直接报错FileNotFoundError: [Errno 2] No such file or directory: C:modelsmodel.h5我盯着屏幕瞪了半小时——路径明明写的是C:\models\model.h5怎么变成C:modelsmodel.h5了核心根源Windows路径用反斜杠\但Python字符串里\是转义字符比如\n是换行。写C:\models时\m被解析成转义序列路径直接崩了。更坑的是Linux下用正斜杠/没问题但硬编码路径跨平台必翻车。错误示范我踩过三次的坑# 错误硬编码路径\被转义路径失效model.save(C:\models\model.h5)# 实际路径变成 C:modelsmodel.h5目录根本不存在跑起来直接报错我差点把键盘砸了。正确姿势用os.path.join自动处理路径跨平台通用importos# 先确保保存目录存在避免No such directoryos.makedirs(models,exist_okTrue)# exist_okTrue避免目录已存在报错# 用os.path.join拼接路径自动处理分隔符Windows用\Linux用/save_pathos.path.join(models,model.h5)# 路径安全models/model.h5或models\model.h5model.save(save_path)# 保存成功不再报错或者用pathlib更现代推荐frompathlibimportPathsave_dirPath(models)save_dir.mkdir(exist_okTrue)# 创建目录避免权限问题# 用/拼接路径自动适配系统save_pathsave_dir/model.h5# 路径models/model.h5Linux或models\model.h5Windowsmodel.save(str(save_path))# Keras需要字符串所以转成str我测试过用pathlib的写法在Windows和Linux上都稳如老狗。之前还试过用原始字符串rC:\models\model.h5但路径分隔符问题没解决还是得手动处理目录。避坑总结血泪经验别碰硬编码路径永远用os.path.join或pathlib拼接。保存前建目录os.makedirs(dir, exist_okTrue)避免目录不存在。打印路径确认print(Saving to:, save_path)跑之前先看路径对不对。跨平台优先别写死C:\\用os.sep或pathlib自动适配。这次终于不用再被路径错误折磨了。下次再遇到类似问题直接看这行代码——比看文档快十倍。