Dropbox 中共享文件的 os.path.getmtime
我想运行一个脚本来检查 Dropbox 文件夹中的某些文件是否已更改。我目前正在使用 os.path.getmtime() 来检查修改的时间是否在 time.time() 的某个窗口中。问题是,如果我从与设置运行脚本的计算机不同的计算机修改 Dropbox 文件夹中的文件,则修改时间在后一台计算机上不会更改。有没有一种观看共享文件而不会遇到此问题的好方法?
感谢您的帮助!我刚刚开始接触Python。
******更新********
我一直在研究 Dropbox 如何处理文件时间戳。它仅在文件更改时更新 mtime。如果您打开一个文件,对其进行修改,但保存不变,则 mtime 保持不变。
I want to run a script to check whether certain files in my Dropbox folder have changed. I am currently using os.path.getmtime() to check that the modified time is in some window of time.time(). The problem is that if I modify a file in my Dropbox folder from a different computer than where the script is set to run, the modified time does not change on that latter computer. Is there a good way to watch shared files that doesn't run into this problem?
Thanks for any help! I am just getting into python.
*******UPDATE*******
I have been playing more with how Dropbox handles file timestamping. It only updates the mtime if the file changes. If you open a file, modify it, but save it unchanged, the mtime stays the same.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来 Dropbox 在同步文件时保留了 mtime。尝试通过更改的文件大小和/或校验和(MD5、SHA1 等)而不是修改时间来检测更改的文件。或者直接询问 Dropbox:)(我不知道它是否有任何 API)。
It looks that Dropbox preserves mtime when synchronizing files. Try to detect changed file by changed file size and/or checksum (MD5, SHA1 or so) instead of modification time. Or just ask Dropbox :) (I don't know if it has any API for this).