Python调用save_model保存tokenizer报os error 3找不到路径如何解决?
报错排查与解决方法
os error 3的本质是系统找不到指定路径,原因是save_model方法要求传入的目标存储目录必须已经存在,该接口不会自动创建不存在的目录。
排查步骤
- 首先执行以下代码确认Python当前运行的工作目录,你写的相对路径
"tokenizer"就是相对于这个路径定位的:
import os print(os.getcwd())
- 核对输出的目录下是否存在名为
tokenizer的文件夹,90%以上的该类报错都是这个文件夹未提前创建导致的。
解决方法
方案1:提前创建目标目录后保存(推荐)
通过代码自动判断目录是否存在,不存在则创建,避免手动操作遗漏:
import os save_dir = "tokenizer" # exist_ok=True表示目录已存在时不会报错,parents=True表示会自动创建多层缺失的父目录 os.makedirs(save_dir, exist_ok=True, parents=True) # 再执行保存操作 bert_wordpiece_tokenizer.save_model(save_dir)
方案2:使用绝对路径存储
如果想避免相对路径和工作目录不匹配的问题,可以直接传入完整绝对路径:
# Windows示例 bert_wordpiece_tokenizer.save_model("C:/Users/你的用户名/Desktop/tokenizer") # Linux/macOS示例 # bert_wordpiece_tokenizer.save_model("/home/你的用户名/tokenizer")
额外注意事项
- 如果使用Jupyter Notebook,默认工作目录是你启动Jupyter服务的文件夹,不是当前运行的ipynb文件所在的文件夹,必须用
os.getcwd()确认实际工作目录。 - 存储路径尽量避免使用中文、空格、特殊符号,减少系统路径识别异常概率。
内容的提问来源于stack exchange,提问作者Sarang Manjrekar
相关产品推荐
相关产品推荐

