[英]Are there a modules for temporarily backup and restore text files in Python
我需要在运行时修改文本文件,但稍后再恢复其原始状态(即使计算机崩溃)。
我的程序定期运行。 会话结束后,可以更改该文件的原始状态,但在运行时不会更改原始状态。
该文本文件的多个实例在多个目录中具有相同的名称。 我的程序在每个目录中运行(但不是并行运行),但是根据目录内容的不同,它会执行不同的操作。 这样选择工作目录的顺序完全是任意的。
由于每个目录中文件的名称都相同,因此将备份文件存储在稍有不同的位置(例如,父目录名称可以附加到备份目标路径)似乎是个好主意。
我现在要做的是使用自写类备份和还原文件,并在启动时检查当前目录的先前备份是否已正确还原。 但是我的实现需要认真的重构,现在我很想知道是否已经为此类任务实现了库。
编辑
版本控制似乎是一个好主意,但实际上有点过头了,因为它需要网络连接并且通常需要服务器。 其他VCS需要安装客户端。 我会更喜欢纯Python解决方案,但至少它应该是跨平台的,可移植的并且足够小(例如,<10mb)。
实施版本控制...像svn(请参见pysvn)一样,只要存储库位于同一服务器上就应该很快...并且允许回滚到该文件的任何版本...也许过大了,但这将使所有内容都可逆
http://pysvn.tigris.org/docs/pysvn_prog_guide.html
您不需要服务器...您可以具有本地版本控制,应该没问题...
为什么不做每一个unix,mac,window文件多年来所做的事情-创建一个lockfile / working file概念。
选择文件进行编辑时:
编辑倾向于执行以下一项或多项操作:
有时情况略有相反,当.backup是活动编辑时,原始文件保留在原位; 成功的取代的.backup原
如果在Linux机器上使vi或某些其他文本程序崩溃,则会看到这些文件已创建。 需要注意的是,他们通常有一个点(。)前缀,所以他们通常隐藏在命令行上。 Word / Powerpoint / etc都做类似的事情。
Git,Subversion或Mercurial是您的朋友。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.