如何在不干扰其他进程写入的情况下读取或复制文件?

时间:2019-03-14 08:14:36

标签: python powershell file batch-file file-io

我需要创建文件的修改后的副本,该副本由不受我控制的程序定期更新。我可以使用定时循环来做到这一点,因此不需要监听文件更改。

我担心同时从不同的进程写入和读取文件之间可能存在冲突。 我绝对需要避免导致编写器进程崩溃。在阅读器进程中,如果出现问题,我可以重试。我不知道作者如何打开文件,但似乎可以为每个新数据打开和关闭文件。

在这种情况下我需要考虑什么?在开始对其进行处理之前,我应该让操作系统首先复制该文件吗?该解决方案应在Windows中运行。我还不确定,它应该用Python(我更熟悉)还是bat或PowerShell脚本(客户端不需要安装任何东西)编写。


我刚刚在Linux上的Python中做了一个小实验,只需一个过程即可

f = open("data.txt", "w")
f.write("1\n")
input("press enter to continue")
f.write("2\n")
f.close()

另一件事

f = open("data.txt", "r")
print(f.readline())
input("press")
print(f.readline())
f.close()

即使在编写者处于写作过程中时,读者似乎总是能看到文件的原始版本,而读者似乎从不打扰作者。这是Linux吗?文件包含大量数据时会有所不同吗?

0 个答案:

没有答案