假设我有一个文件 urls.txt,其中包含我正在监视的 URL 列表。我的监视脚本偶尔会编辑该文件,例如,以指示每个 URL 是否可访问。我还想手动编辑该文件,以添加或更改 URL 列表。我怎样才能允许这样我在手动编辑时不必考虑它?
以下是一些可能的答案。你会怎么做?
从事黑客活动,例如让程序检查 vim 或 emacs 创建的锁定文件。因为这只是为了我,所以这实际上会起作用。
如果人工编辑始终优先,则始终让人工破坏程序的更改(例如,忽略编辑器关于文件已在磁盘上更改的警告)。然后程序可以在下一个循环中重做它的更改。尽管如此,在用户编辑文件时更改文件并不是那么好。
永远不要让人接触程序正在进行修改的文件。重新考虑设计并拥有一个只有人工编辑的文件和另一个只有程序编辑的文件。
为人类提供一个自定义工具来编辑执行适当文件锁定的文件。这可能与锁定文件然后启动编辑器或自定义界面(可能是简单的命令行界面)一样粗略,用于从文件中插入/更改/删除条目。
使用数据库而不是平面文件,然后自动处理所有锁定。
(请注意,我编写了 URL 监控示例以使其更加具体,并且因为我实际上想到的可能太奇怪和分散注意力——这个问题严格来说是关于如何让人类和程序都修改同一个状态文件。)