像file("foo.txt")
这样打开的文件是否有关于文件修改时间的信息?在
基本上,我想知道文件是否在某个时间被修改或替换,但是如果文件在检查修改时间和打开文件之间被替换,那么你就得到了不准确的信息。在
我怎么能确定?在
谢谢。在
@rubayeet:谢谢你的回答(+1),我其实没想到。但是。。。如果修改时间改变了怎么办?也许我会重新加载文件。但如果那一次改变了呢?如果文件是定期被触摸,我可能会结束在一个循环永远!我真正想要的是一种方法,只需要一个打开的文件句柄和一个修改时间,而不需要潜在的无限循环。在 PS你给出的答案对我来说已经足够好了,因为文件不会定期更改,这是我现在最感兴趣的部分。在 更新2 考虑到之前的更新(并进行了一点实验),我意识到仅仅知道文件在打开时的修改时间并没有多大用处,因为如果在读取文件时修改了文件,那么您可以在读取的内容中保存一些或全部修改的数据,因此您必须打开并读取/处理整个文件,然后再次检查mtime(根据@rubayeet的回答)看看是否有过时的数据。在
对于简单的modtime,您可以使用:
如果需要回调功能,可以检查python的inotify绑定:pyinotify。在
您基本上设置了一个watchmanager,当监视目录中发生任何更改时,它会在事件循环中通知您。打开一个特定的mod文件,如果你写了一个特定的事件。在
如果您对文件的独占访问感兴趣,我将指向fnctl module,它在文件描述符上有一些低级和文件锁定机制。在
相关问题 更多 >
编程相关推荐