【发布时间】:2012-12-21 00:47:39
【问题描述】:
我有一个脚本来扫描目录以查看何时添加了新文件,然后处理它们的内容。它们是视频文件,因此它们通常非常大,并且通过网络传输并且通常需要很长时间才能传输。所以我需要确保他们在继续之前完成了复制。
目前,一旦我在目录中找到一个新文件,我就会使用 os.path.mtime 检查修改日期,并将其与上次扫描文件的时间进行比较,看看它是否是仍在修改中。理论上,如果它不再被修改,那么它应该已经完成了转移。
if getmtime(path.join(self.rootFolder, thefile)) < self.lastchecktime: newfiles.append[thefile]
但这似乎不起作用 - 脚本过早触发并且处理失败,因为文件未完全加载。会不会是扫描之间没有足够的停顿以使 mtime 保持不变……?我在两次扫描之间给它 10 秒 - 这应该足够了,当然。
有没有一种简单/更 Pythonic 的方式来做到这一点?这些文件位于在 VM 上运行的 Windows 服务器上。
【问题讨论】:
标签: python video filesystems windows-server-2008