如何保存正在运行的Python程序状态以便稍后恢复?
我正在开发一个机器学习分析程序,这个程序需要处理27GB的文本文件,运行在Linux系统上。虽然我的生产系统不会经常重启,但我需要在家里的电脑或者开发环境中进行测试。
现在我经常遇到停电的情况,所以我几乎无法连续运行这个程序超过三周。
我的程序会读取这些文件,进行一些解析,然后把过滤后的数据保存在新的文件里,存放在一个字典中。接着,我会对这些文件应用算法,然后把结果保存到mysql数据库中。
我现在找不到如何保存算法的状态。
2 个回答
1
因为整个算法的状态可以保存在一个类里面,所以你可能会想用 pickle
(如上面提到的),但 pickle
也有它自己的问题和风险。
如果想要更好的方法来实现同样的功能,你可以看看 这篇文章,它解释了为什么你应该使用 camel
库,而不是 pickle
。
2
我把算法状态的所有信息都保存在一个类里面,你可以把这个类进行序列化,然后保存到硬盘上:http://docs.python.org/2/library/pickle.html