【发布时间】:2018-02-23 00:36:45
【问题描述】:
我正在尝试使用可以放入几行数据的文件(csv、json、txt,尚未确定格式)。python 脚本将在 cron 上每 5 分钟运行一次并检查文件如果有任何新内容,如果有,处理它并在处理时删除每一行。
我试图防止出现以下情况:我打开文件,进行一些更改并保存它,而该过程通过抓取数据并清空文件但我的保存将其写回。
我认为确保安全的唯一方法是让它处理一个文件夹并查找新文件,所有更改都将放在一个新文件中。所以永远不会有发生这种情况的风险。
有没有更好的方法,或者这是最好的方法?
【问题讨论】:
-
不确定这是否是您正在寻找的:stackoverflow.com/questions/30407352/…
-
我赞同上述建议。文件系统级别的锁足以满足此目的。如果您的文件系统支持,您也可以尝试将 python 脚本作为处理 inotify 事件的守护进程运行。见suggestions for inotify and crossplatform solutions in this post
标签: python concurrency io