我试图查看目录,并正在寻找文件修改。考虑使用pyinotify。问题是,当我使用IN_MODIFY事件检查文件更改时,如果我将一个很小的文件(例如12 MB)通过网络复制到目录中,它就会触发很多事件。

我不想处理那么多触发器。复制文件后,我只想触发一个事件。我该如何实现?

任何Pyinotify大师都可以提供帮助

最佳答案

尝试将IN_MODIFY更改为IN_CLOSE_WRITE
关闭可写文件时,会发生IN_CLOSE_WRITE事件。除非复制文件的程序选择多次关闭文件,否则该操作应该只发生一次。

上面的更改可能就是您所需要的,如果没有,则this basic code
可以用来查看何时发生什么事件。使用它,您应该能够确定要使用的事件。



# 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()

关于python - pyinotify:处理IN_MODIFY触发器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3258066/

10-12 19:59