Language agnostic 使用不同的脚本从同一文本文件中写入和读取

Language agnostic 使用不同的脚本从同一文本文件中写入和读取,language-agnostic,file-io,Language Agnostic,File Io,这是一个与我所处的任何实际情况都无关的问题,但它总是困扰着我 如果一个脚本在一个文本文件中读取和追加行,而另一个脚本从同一个文件中读取,会出现什么问题 我知道当一个脚本打开一个文本文件时,它从文件被打开的那一刻起就在使用该文件的版本,而不考虑下面的编辑。我希望这两个脚本都能使用最新版本,我确认它不会是文本文件的实时版本 我想提出这个问题的一种方式是:处理上述脚本的最佳方式是什么?我应该在第一个进程中何时关闭和打开该文件?您可能遇到的一个问题是,当另一个进程尝试访问该文件时,该文件被一个进程锁定。

这是一个与我所处的任何实际情况都无关的问题,但它总是困扰着我

如果一个脚本在一个文本文件中读取和追加行,而另一个脚本从同一个文件中读取,会出现什么问题

我知道当一个脚本打开一个文本文件时,它从文件被打开的那一刻起就在使用该文件的版本,而不考虑下面的编辑。我希望这两个脚本都能使用最新版本,我确认它不会是文本文件的实时版本


我想提出这个问题的一种方式是:处理上述脚本的最佳方式是什么?我应该在第一个进程中何时关闭和打开该文件?

您可能遇到的一个问题是,当另一个进程尝试访问该文件时,该文件被一个进程锁定。为了避免这种情况,您应该打开、读入整个文件或写入新行并立即关闭它

此外,您可能希望在打开时添加错误处理,以便如果由于文件被锁定而失败,可以在短暂暂停后重试

我知道当脚本打开文本时 它正在使用的文件版本 从它被保存的那一刻起 打开,不考虑以下内容 编辑

这是错误的说法。例如,请在Unix中尝试以下命令:

tail -f <some file>

然后尝试向该文件添加行。tail命令将跟随您的添加。假设您在写入时定期刷新。

tail命令将执行您想要的操作,否则您需要从一个脚本打开、编辑、保存、关闭,然后从另一个脚本打开、读取、关闭等等。脚本必须轮流执行

其他编程语言中是否存在tail或类似的脚本?如前所述,我不必实际地这样做,所以我想要一个在大多数情况下都能工作的答案,而不仅仅是在特定的情况下,例如Unix shell。基于NT内核的Windows系统与POSIX不完全兼容。这意味着这些版本应该符合UNIX tail-like命令。