当前位置:  开发笔记 > 编程语言 > 正文

如何让人类和程序访问同一个文件而不踩对方的脚趾

如何解决《如何让人类和程序访问同一个文件而不踩对方的脚趾》经验,为你挑选了1个好方法。

假设我有一个文件urls.txt,其中包含我正在监控的URL列表.我的监控脚本偶尔会编辑该文件,例如,指示每个URL是否可访问.我还想手动编辑该文件,添加或更改URL列表.我怎样才能允许这样我手动编辑时不必考虑它?

以下是一些可能的答案.你会怎么做?

    参与hackery就像让程序检查vim或emacs创建的锁定文件一样.由于这只适合我,这实际上是有效的.

    如果人类编辑始终优先,那么只需要总是让人类破坏程序的更改(例如,忽略编辑器警告文件已在磁盘上更改).然后程序可以在下一个循环中重做它的更改.尽管如此,在用户编辑文件时更改文件并不是那么好.

    永远不要让人触摸程序正在进行修改的文件.重新思考设计,只有一个文件只有人类编辑,另一个文件只有程序编辑.

    为人类提供一个自定义工具来编辑执行相应文件锁定的文件.这可能与锁定文件然后启动编辑器或自定义接口(可能是简单的命令行界面)以插入/更改/删除文件中的条目一样粗糙.

    使用数据库而不是平面文件,然后锁定全部自动处理.

(请注意,我编写了URL监控示例,以使其更具体,因为我实际想到的可能是太奇怪和分散注意力 - 这个问题严格来说是关于如何让人类和程序都修改相同的状态文件.)



1> paxdiablo..:

我会使用一个数据库,因为基本上你需要构建它来实现你想要的东西.为什么重新发明轮子?

如果完整的DBMS负载太大,请将文件分成两部分并定期同步.URL是否可访问听起来不像用户将要更改的内容,因此不应由它们编辑.

在同步过程中(虽然它可能是监视器的子功能,但必须锁定监视器和用户),删除监视文件中不在用户满的条目.此外,将已添加到用户文件中的文件添加到监视文件中(并开始监视它们).

但是,我会为用户使用特殊的前端数据库方法,因为现在你可以获得相对较好的轻量级数据库.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有