我试图查看目录,并正在寻找文件修改。考虑使用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/