我正在尝试查看目录,并正在寻找文件修改。正在考虑使用 pyinotify。问题是,在使用 IN_MODIFY 事件检查文件更改时,如果我通过网络将一个 12 MB 的小文件复制到目录中,它会触发相当多的事件。
我不想处理这么多触发器。在复制文件后,我只想触发一个事件。我该如何做到这一点?
任何 Pyinotify 大师都可以提供帮助
尝试更改IN_MODIFY
为IN_CLOSE_WRITE
. IN_CLOSE_WRITE
关闭可写文件时发生事件。这应该只发生一次,除非复制文件的程序选择多次关闭文件。
上述更改可能就是您所需要的,但如果不需要,此基本代码 可能是一个非常有用的工具,可用于查看何时发生什么事件。有了它,您应该能够确定要使用的事件。
# Example: loops monitoring events forever.
#
import pyinotify
# Instanciate a new WatchManager (will be used to store watches).
wm = pyinotify.WatchManager()
# Associate this WatchManager with a Notifier (will be used to report and
# process events).
notifier = pyinotify.Notifier(wm)
# Add a new watch on /tmp for ALL_EVENTS.
wm.add_watch('/tmp', pyinotify.ALL_EVENTS)
# Loop forever and handle events.
notifier.loop()