我需要在运行时修改文本文件,但稍后恢复其原始状态(即使计算机崩溃)。
我的程序在常规会话中运行。会话结束后,可以更改该文件的原始状态,但原始状态在运行时不会更改。
此文本文件在多个目录中有多个具有相同名称的实例。我的程序在每个目录中运行(但不是并行运行),但根据目录内容,它会做不同的事情。像这样选择工作目录的顺序是完全任意的。
由于每个目录中的文件名相同,因此将备份文件存储在稍微不同的位置似乎是个好主意(即,可以将父目录名称附加到备份目标路径)。
我现在做的是用自写的类备份和恢复文件,并在启动时检查当前目录的先前备份是否正确恢复。但是我的实现需要认真重构,现在我很感兴趣是否已经为此类任务实现了库。
编辑
版本控制似乎是个好主意,但实际上它有点矫枉过正,因为它需要网络连接并且通常需要服务器。其他 VCS 需要安装客户端。我会更喜欢纯 python 解决方案,但至少它应该是跨平台的、可移植的并且足够小(例如<10mb)。