Python:检查新文件并等待它们完成传输

2024-09-30 16:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本来扫描目录,看看什么时候添加了新文件,然后处理它们的内容。它们是视频文件,所以它们通常非常大,并且通过网络传输,而且传输通常需要很长时间。所以我需要确保他们在继续之前已经完成了复制。在

现在,一旦我在我使用的目录中找到了一个新文件路径.mtos检查修改日期,并将其与上次扫描文件的时间进行比较,以查看是否仍在修改。理论是,如果它不再被修改,那么它应该完成转移。在

if getmtime(path.join(self.rootFolder, thefile)) < self.lastchecktime: newfiles.append[thefile]

但这似乎不起作用-脚本过早触发,处理失败,因为文件没有完全加载。是不是扫描之间没有足够的停顿时间来保持m时间不变…?我给它10秒的扫描间隔-这应该足够了,当然。在

有没有一种更简单/更像Python的方法?这些文件位于在虚拟机上运行的windows服务器上。在


Tags: 文件pathself路径网络目录脚本内容
2条回答

你的支票不是“我的修改时间比上次检查的时间长吗?”。在

if os.path.getmtime(path) > self.lastAccessedTime: 
    # do something as modified time is greater than last time I checked
    pass 

我不是一个windows用户,但我确信会有一些与inotifyforwindows相当的库。这是在文件系统级别监听文件或目录更改的非常好的方法。我将留下一些在linux上使用pyinotify的示例代码,这将对使用linux的人有所帮助。在

^{pr2}$

你能控制文件的添加吗?如果是这样的话,您可以在视频上传完成后创建一个名为videoname-complete的空文件,并监视这些文件。在

相关问题 更多 >