python - 如何使脚本等待另一个脚本完成读取文件
问题描述
这不是 Locking a file in Python 的重复
我有两个脚本,一个每 30 分钟运行一次,另一个每分钟运行一次。他们都使用同一个文件来做一些事情。
在某些时候,他们每 30 分钟尝试同时访问同一个文件并损坏该文件。我正在考虑使用等待。但它们是两个独立的脚本,我不确定这是否可能。
任何想法?
我想过使用
with FileLock("document.txt")
出现的问题是;如果 script-1 获得了 "document.txt" 的锁,那么 script-2 想要访问 document.txt,它会等待 script-1 完成吗?还是会跳过那行代码?因为第二个不是一个选项?还。获得锁后,如何在不再需要时将其删除?
解决方案
完成此操作的最简单方法之一(如果您对文件目录具有写入权限)是创建一个附加文件(如 filename.lck)以指出某个脚本正在处理该文件。显然,一旦脚本完成了对该文件的处理,就需要删除该锁定文件。
但老实说,如果 Python 中没有预见到这样的锁定机制,我会感到非常惊讶。您究竟如何打开和关闭上述文件?也许某些参数已经负责锁定。
推荐阅读
- scala - Pureconfig - 是否可以在 conf 文件中包含另一个 conf 文件?
- php - 重命名功能不适用于 php 中的文件夹
- c - 谁能解释为什么程序返回此错误?进程返回 -1073741819 (0xC0000005)
- angular - 离子电容器共享插件不与whatsapp共享图像
- paraview - 二维有限元数据可视化
- json - 如何将具有重复键的对象序列合并为一个?
- maven-javadoc-plugin - 如何使用最新的 Javadoc Maven 插件 (3.x+) 生成汇总报告?
- ios - 文件选择器中的错误找不到有效的活动来处理请求。确保您已安装文件资源管理器
- javascript - 我使用“数据目标”来保持活动链接样式。即使从活动链接移动页面,如何保持样式
- algorithm - 计算一系列变换的最优阶