[英]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.