実行時にテキストファイルを変更する必要がありますが、後で元の状態に復元します(コンピューターがクラッシュした場合でも)。
私のプログラムは通常のセッションで実行されます。セッションが終了すると、そのファイルの元の状態を変更できますが、実行時に元の状態は変更されません。
いくつかのディレクトリに同じ名前のこのテキストファイルのインスタンスがいくつかあります。私のプログラムは各ディレクトリで実行されますが(並列ではありません)、ディレクトリの内容に応じて異なる動作をします。このような作業ディレクトリを選択する順序は完全に任意です。
ファイルの名前は各ディレクトリで同じであるため、バックアップされたファイルをわずかに異なる場所に保存することをお勧めします(つまり、親ディレクトリ名をバックアップターゲットパスに追加できます)。
私が今していることは、自己作成クラスを使用してファイルをバックアップおよび復元し、起動時に現在のディレクトリの以前のバックアップが適切に復元されたかどうかを確認することです。しかし、私の実装には深刻なリファクタリングが必要です。この種のタスク用にすでに実装されているライブラリがあるかどうかに興味があります。
編集
バージョン管理は良い考えのように思えますが、ネットワーク接続と多くの場合サーバーを必要とするため、実際には少しやり過ぎです。他のVCSでは、クライアントをインストールする必要があります。私は純粋なPythonソリューションの方が幸せですが、少なくともクロスプラットフォームで、移植性があり、十分に小さい必要があります(たとえば、<10mb)。