要允许多个程序/用户对同一个文件进行读/写,我需要做些什么?在
用例
我有一个CSV文件,我想让多个用户或多或少地实时编辑它。我希望能够写和读文件中的小变化,但我也希望能够刷新数据,加载到我的程序,以防整个文件被某个粗心的灵魂取代。在
背景
我见过,如果时间戳被更改或文件被其他程序/用户覆盖,某些程序会刷新文件。(我自己在两个不同的编辑器中编辑一个文件时使用过这个方法,利用它们的不同功能)。在
家庭作业
我想这需要我的应用程序在最初打开时复制原始文件。这样,对原始数据的任何更新都可以与副本进行比较,从而获得对当前数据的修改。然后,当临时文件被更新时,可以重新写入主文件。然后每个用户/程序都可以重新加载自己更新的文件。这是一个明智的方法/最佳实践,还是有更好的方法来达到目的。在
另一种方法是根据我的理解缓存文件。在
阻止/锁定文件是否更好?我必须提防比赛条件吗?在
环境
我计划用Python来做这个。我也希望它是独立于平台的,例如linux、windows和mac(昂贵的linux)。在
相关
当用户打开该文件时,您实际上提供了该文件的一个副本-1.csv,并让他编辑该文件,以避免用户覆盖他们的工作。当用户保存时,您将覆盖原始文件。在这两者之间,你保持一个钩子来查看原始用户是否被修改,而当前用户也修改了他的。如果原始文件被修改成diff或者其他我不知道的东西。在
我想你需要的是一个svn或git工作原理的小复制品。在
如果编辑的强度很低,可以使用csv文件将其拉出,但要锁定整个文件,以避免用户互相覆盖对方的编辑。如果在应用编辑之前无法锁定文件,则最好使用DB,其中将锁定特定的记录,而不是锁定整个文件。在
相关问题 更多 >
编程相关推荐