gpt4 book ai didi

python - 保存文件并重命名旧版本

转载 作者:可可西里 更新时间:2023-11-01 11:49:04 26 4
gpt4 key购买 nike

我已经腌制(转储)了我的模型并将其保存以用于 Web 应用程序。每次我重新运行模型分析时,文件都会再次 pickle 并保存在(文件名 + 日期)下的同一文件夹中。如果新文件与上一个版本在同一天创建,我想重命名旧版本。

我试图通过在末尾添加 '_archived' 来重命名旧文件。下面的代码在不存在文件时正确地创建了一个新文件,但是当文件已经存在时重新运行它会删除旧文件并抛出错误。

path = r'C:\scoring_model'
dest = os.path.join(path, 'test12')

now = pd.datetime.now()
date_now = str(now.date())
model_name = 'model' + '_' + date_now
model_loc = os.path.join(dest, model_name)

if os.path.exists(model_loc):
try:
os.rename(model_loc, model_name + '_archived')

except:
os.remove(model_loc)
os.rename(model_loc, model_name + '_archived')
with open(model_loc, 'wb') as pfile:
pickle.dump(scoring_model, pfile)

else:
with open(model_loc, 'wb') as pfile:
pickle.dump(scoring_model, pfile)

我收到以下错误:

WindowsError                              Traceback (most recent call last)
<ipython-input-186-c132203d92f3> in <module>()
16 except:
17 os.remove(model_loc)
---> 18 os.rename(model_loc, model_name + '_archived')
19 with open(model_loc, 'wb') as pfile:
20 pickle.dump(scoring_model, pfile)

WindowsError: [Error 2] The system cannot find the given file

最佳答案

发生这种情况是因为您在调用 os.remove() 之后调用了 os.rename()。在 Windows 中,尝试重命名不存在的文件将在 Python 中引发异常。

关于python - 保存文件并重命名旧版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com