python - 是否可以监控 Windows 驱动器上的每个文件创建?

标签 python windows directory

我正在用 Python 编写一个程序,用于存储系统上每个文件的信息。安装后,它会遍历每个文件,但之后我想在创建新文件或移动文件时更新它。例如,在 Dropbox 服务中,每当我将文件复制到我的 Dropbox 目录时,它会立即通知并将其上传到他们的服务器。

有没有办法在 Python 中不用轮询来做到这一点?我正在考虑创建文件时触发的某种事件监听器。

最佳答案

尝试其中之一:

我认为第一个使用起来更简单。使用示例(来自其网站):

import watcher
w = watcher.Watcher(dir, callback)
w.flags = watcher.FILE_NOTIFY_CHANGE_FILE_NAME
w.start()

watcher 是封装系统 API 的模块,在 MSDN 上有描述:

http://msdn.microsoft.com/en-us/library/aa365465(v=vs.85).aspx

因此,标记 watcher.FILE_NOTIFY_CHANGE_FILE_NAME 表示您将收到以下通知:

Any file name change in the watched directory or subtree causes a change notification wait operation to return. Changes include renaming, creating, or deleting a file.

关于python - 是否可以监控 Windows 驱动器上的每个文件创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474310/

相关文章:

python - 如何通过当前文件中的 Python 字符串名称实例化类?

python - 从另一个图像中删除一个重叠图像

c# - SQLite 不存储/检索数据库

filter - 从Gradle中的FileTree中排除文件

java - 如何在 Java 中创建目录?

version-control - teamcity和共享目录下的两个vcs root

python - fbchat Python库灌输错误

python - 使用自定义格式化程序登录 django

windows - 无法将 unicode .csv 读入 R

c++ - 我们可以在 Windows 上使用/模拟 Solaris/Aix C/C++ 编译器吗?