複数のプログラム/ユーザーが同じファイルを読み書きできるようにするにはどうすればよいですか?
使用事例
CSV ファイルがあり、複数のユーザーが多かれ少なかれリアルタイムで編集できるようにしたいと考えています。ファイルの小さな変更を読み書きできるようにしたいのですが、ファイル全体が不注意な魂によって置き換えられた場合に、プログラムにロードされたデータを更新できるようにしたいのです。
バックグラウンド
タイムスタンプが変更された場合、またはファイルが別のプログラム/ユーザーによって上書きされた場合、特定のプログラムがファイルを更新することを見てきました。(私自身、異なる機能を利用する 2 つの異なるエディターでファイルを編集するときに、これを使用しました)。
宿題
これには、アプリケーションが最初に開かれたときに元のファイルを複製する必要があると思います。このようにして、元のデータに対する更新をコピーと比較して、現在のデータに対する変更を取得できます。その後、一時ファイルが更新されると、プライマリ ファイルを再書き込みできます。各ユーザー/プログラムは、更新されたファイルを自分で再ロードできます。これは賢明な方法/ベストプラクティスですか、それともここで目的を達成するためのより良い手段はありますか?
または、私が理解していることからファイルをキャッシュすることもできます。
ファイルをブロック/ロックする方が良いですか? 競合状態に注意する必要がありますか?
環境
Pythonでこれを行う予定です。また、Linux、Windows、Mac (高価な Linux) などのプラットフォームに依存しないようにしたいと考えています。
関連している