如何跟踪Dropbox等文件的更改?

时间:2011-12-10 19:15:32

标签: python dropbox

任何人都知道在修改文件时如何执行方法(python),如Dropbox和他的连续数据保护机制,可以准确跟踪文件的修改时间并同步它。

当然它不是整个硬盘,而是指定目录上的轨道。

OBS:适用于Windows和Linux操作系统。 Mac是一个加号;)

3 个答案:

答案 0 :(得分:5)

在Linux上,pyinotify可能会做你想要的。但请注意inotify(7) manpage中提到的警告,特别是:

  

请注意,事件队列可能会溢出。在这种情况下,事件将丢失。强大的应用程序应该优雅地处理丢失事件的可能性。

     

如果监视整个目录子树,并在该树中创建新的子目录,请注意,在为新子目录创建监视时,可能已在子目录中创建了新文件。因此,您可能希望在添加监视后立即扫描子目录的内容。

答案 1 :(得分:4)

我不确定Python是否有任何跨平台解决方案,但如果您只对基于Windows的解决方案感兴趣,则应该查看directory change notifications。要调用Win32 API函数,您可以查看pywin32

在Linux上,似乎有很多解决方案,包括fschangednotifyinotify。我不确定哪一个是推荐的解决方案,但inotify似乎是最完整的解决方案。

并非所有平台都具有此功能。如果它不适用于给定的平台,则必须通过定期检查目录内容来模拟此类通知。

答案 2 :(得分:0)