在windows系统上跑spert模型时报错:[WinError 123] 文件名、目录名或卷标语法不正确。: 'data\\save\\conll04_train\\2021-12-09_13:01:00.352937'。如下图所示。
一开始以为是盘符的问题,windows的文件路径一般用“\”隔开,linux等其他操作系统的路径则为“/”,修改后仍然报错。查看代码后发现使用了os.path.join,对所有操作系统都适用,不需要修改盘符。
随后尝试将相对路径转换为绝对路径,仍然没用。
猜测是否文件名有问题,尝试创建2021-12-09_13:04:35.610469.txt文件,出现如下问题。
原来是windows对文件命名格式有特殊要求。该模型应该是默认在linux系统上跑,猜测linux对文件名无字符要求。在代码中加入
run_key = str(datetime.datetime.now()).replace(' ', '_').replace(':', '.')
运行成功。