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

标签 python video filesystems windows-server-2008

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

目前,一旦我在目录中找到新文件,我就会使用 os.path.mtime 检查修改日期,并将其与上次扫描文件的时间进行比较,看看它是否是仍在修改中。理论上来说,如果不再被修改,那么它应该已经完成​​传输。

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

但这似乎不起作用 - 脚本触发得太早并且处理失败,因为文件未完全加载。难道是扫描之间没有足够的暂停,导致 mtime 保持不变……?我在两次扫描之间间隔 10 秒 - 当然,这应该足够了。

有没有一种简单/更Pythonic的方法来做到这一点?这些文件位于虚拟机上运行的 Windows 服务器上。

最佳答案

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

关于Python:检查新文件并等待它们完成传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982806/

相关文章:

javascript - HTML5 视频自动播放,声音未静音

bash - ffmpeg 从 10s 的视频中提取子剪辑; 30%; 60%;视频的最后 30 秒

linux - 公开上传的文件不显示

python - 如何在 Jupyter Notebooks/Lab 中为单个单元格抑制内联 matplotlib?

php - 从 XML-RPC 客户端在 OpenERP/Odoo 上创建潜在客户

javascript - 如何为views.py中的对象创建属性,以便将更改后的对象传递给JS代码

linux - 检查两个目录是否在haskell中的同一文件系统上

python - 复制生成器

url - 我们可以使用 Opencv 通过互联网获取实时视频流吗?怎么做?

javascript - Google Chrome 的文件系统 API 是否允许多个 blob 的写入操作?