如何保存正在运行的Python程序状态以便稍后恢复?

1 投票
2 回答
1995 浏览
提问于 2025-04-17 14:25

我正在开发一个机器学习分析程序,这个程序需要处理27GB的文本文件,运行在Linux系统上。虽然我的生产系统不会经常重启,但我需要在家里的电脑或者开发环境中进行测试。

现在我经常遇到停电的情况,所以我几乎无法连续运行这个程序超过三周。

我的程序会读取这些文件,进行一些解析,然后把过滤后的数据保存在新的文件里,存放在一个字典中。接着,我会对这些文件应用算法,然后把结果保存到mysql数据库中。

我现在找不到如何保存算法的状态。

2 个回答

1

因为整个算法的状态可以保存在一个类里面,所以你可能会想用 pickle(如上面提到的),pickle 也有它自己的问题和风险

如果想要更好的方法来实现同样的功能,你可以看看 这篇文章,它解释了为什么你应该使用 camel 库,而不是 pickle

2

我把算法状态的所有信息都保存在一个类里面,你可以把这个类进行序列化,然后保存到硬盘上:http://docs.python.org/2/library/pickle.html

撰写回答