我正在使用 pyinotify 来监视文件夹中何时创建文件。当创建某些文件时,我想移动它们。问题是,一旦创建文件(显然),我的程序就会尝试移动它,甚至在它完全写入磁盘之前。
有没有办法让 pyinotify 等到文件完全写入磁盘后再通知我它已创建?或者有什么简单的方法可以在我收到通知后让 python 等待移动它直到它完成编写?
让 pyinotify 做出反应IN_CLOSE_WRITE events:
wm.add_watch(watched_dir, pyinotify.IN_CLOSE_WRITE, proc_fun=MyProcessEvent())
这是来自man 5 incrontab
,但它同样适用于 pyinotify:
IN_ACCESS File was accessed (read) (*)
IN_ATTRIB Metadata changed (permissions, timestamps, extended attributes, etc.) (*)
IN_CLOSE_WRITE File opened for writing was closed (*)
IN_CLOSE_NOWRITE File not opened for writing was closed (*)
IN_CREATE File/directory created in watched directory (*)
IN_DELETE File/directory deleted from watched directory (*)
IN_DELETE_SELF Watched file/directory was itself deleted
IN_MODIFY File was modified (*)
IN_MOVE_SELF Watched file/directory was itself moved
IN_MOVED_FROM File moved out of watched directory (*)
IN_MOVED_TO File moved into watched directory (*)
IN_OPEN File was opened (*)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)