Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以监视Windows驱动器上的每个文件创建?_Python_Windows_Directory - Fatal编程技术网

Python 是否可以监视Windows驱动器上的每个文件创建?

Python 是否可以监视Windows驱动器上的每个文件创建?,python,windows,directory,Python,Windows,Directory,我正在用Python编写一个程序,用于存储系统中每个文件的信息。安装后,它将遍历每个文件,但之后我希望在创建新文件或移动文件时更新它。例如,在Dropbox服务中,每当我将文件复制到Dropbox目录时,它会立即注意到并将其上载到服务器 有没有一种不用轮询就可以在Python中实现这一点的方法?我正在考虑创建文件时触发的某种事件侦听器。请尝试以下方法之一: 我认为第一个更容易使用。使用示例(从其网站): watcher是包装系统API的模块,在MSDN中有描述: 因此,flagwatc

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

有没有一种不用轮询就可以在Python中实现这一点的方法?我正在考虑创建文件时触发的某种事件侦听器。

请尝试以下方法之一:

我认为第一个更容易使用。使用示例(从其网站):

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

因此,flag
watcher.FILE\u NOTIFY\u CHANGE\u FILE\u NAME
表示将通知您:

监视的目录或子树中的任何文件名更改都会导致更改通知等待操作返回。更改包括重命名、创建或删除文件


如果你能总结链接中的信息,并解释为什么你认为OP应该尝试你的一个建议,那么你的答案会好得多。我认为看门狗比观察者要优越得多,因为它是跨平台的。虽然目前可能只需要Windows支持,但减少Windows依赖项可能会在以后节省大量工作。的可能重复
import watcher
w = watcher.Watcher(dir, callback)
w.flags = watcher.FILE_NOTIFY_CHANGE_FILE_NAME
w.start()