你的python脚本是否希望打开文件进行写作或阅读?遗留应用程序是在写入之间打开和关闭文件,还是将其保持打开状态?
了解遗留应用程序正在做什么以及您的python脚本试图实现的目标非常重要.
这个功能区域高度依赖于操作系统,而且您无法控制遗留应用程序这一事实使得事情变得更加困难.无论是pythonic还是非pythonic方式,这可能是你最不关心的问题 - 难的问题是你想要实现的目标是否可行.
UPDATE
好的,所以(从你的评论中)知道:
遗留应用程序每隔X分钟打开和关闭文件,但我不想假设在t = t_0 + n*X + eps它已经关闭了文件.
那么问题的参数就会改变.实际上,它可以在一些独立于OS的方式中完成,只需要一些假设,或者作为OS依赖和OS独立技术的组合.:)
T秒(例如打开文件,执行一次写入,然后关闭文件),然后重新打开它或多或少每秒X,X大于2*T.
stat 文件now(),产生DT<= D< X然后打开文件,用它做你需要的T/ X减少而增加.在*nix上,您可能需要仔细检查/etc/ntpd.conf正确的时间步长与转换配置(请参见修补程序).对于Windows,请参阅MSDNlsof)
lsof或者,在某些系统上,只需检查符号链接/proc/<pid>/fd/<fdes>指向
哪个文件更新2
如果赞成"检查遗留应用程序是否打开文件"(侵入性方法容易出现竞争条件),那么您可以通过以下方式解决上述竞争条件:
lsof或ProcessExplorer)