- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 pyinotify 来监视文件夹以了解何时在其中创建文件。当创建某些文件时,我想移动它们。问题是文件一创建(很明显),我的程序就会尝试移动它,甚至在它完全写入磁盘之前。
有没有办法让 pyinotify 等到文件完全写入磁盘后才通知我文件已创建?或者有什么简单的方法可以在我收到通知后让 python 等待移动它直到它完成写入?
最佳答案
让 pyinotify 对 IN_CLOSE_WRITE 使用react事件:
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 (*)
关于python - 使用 pyinotify 监视文件创建,但等待它完全写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3876348/
我刚拿到一台 iPad,就傻傻地拿到了 TexTouch 应用程序。愚蠢的是,由于 Apple 的规定,TexTouch 无法编译 Tex。它使用 Dropbox 将 .tex 文件同步到计算机。在远
我使用 pyinotify 来监控我的文件系统。问题是当我重命名目录并在重命名的目录中创建文件时,事件是从原始路径(由 event.name 引用)引发的。不知道哪里出了问题?初始化观察器时 add_
我想创建一个监视文件夹的模块。我写了一些代码: import os, pyinotify class FileWatcher: def start_watch(self, dir):
我正在使用 pyinotify(process_IN_MOVED 事件)来监视目录中出现的文件。当出现新文件时,会触发该事件,并对文件进行某种处理。问题是有时文件出现在目录中的速度比我处理它们的速度快
我一直在使用 pyinotify,我遇到了一些问题,在对文件夹进行多次更改后,它只是停止接收通知。我觉得这与两个线程正在运行有关;即通知线程和wxpython线程。 该应用程序的目的基本上是在检测到
我要 Pyinotify 观看具有子文件夹的模板目录,但我收到此错误: DIRECTORY /home/project/templates [Pyinotify ERROR] add_watch: c
可以将正则表达式与 inotify shell 命令一起使用,但不能与 pyinotify 一起使用。我可以使用正则表达式获取目录列表并将其传递给 add_watch,但是,文件夹“Do*”是动态的,
我对 asyncnotifier 的工作原理感到困惑。通知程序中到底线程化了什么?只有观察者线程吗?或者处理程序函数的每个回调都在其自己的线程上运行吗? 文档基本上没有提及该类的细节。 最佳答案 As
我知道 pyinotify.Notifier.check_events(self, timeout=None) 可能会超时 - 但我更喜欢它无限期地轮询。可以中断吗? 我正在调用 Notifier.s
我有一个 pyinotify 实例,它监视已安装的网络驱动器(使用 CIFS 安装)的 IN_WRITE_CLOSE 事件,如果服务器本身正常,它会完美地拾取系统创建的事件(sudo cp、sudo
有什么方法可以打印监视的文件修改吗?让我们举个例子:我正在监视 file.txt,Pyinotify 可以告诉我它已被修改,但它似乎无法输出发生了什么更改?我错了吗 ?如何查看我正在监视的文件发生了哪
这是一个奇怪的问题,strace 没有给我任何有用的信息。我正在使用 pyinotify 0.9.6 递归地监视目录,以便我可以将有关它的更改提交到 MySQL 数据库。问题是当我运行 pyinoti
每次修改某个文件时,我都尝试启动一个 python 脚本。准确地说,我在 Raspberry Pi 的串行端口上有一个设备,它将数据写入文本文件 (test.txt)。我已经尝试过这两种工具 - Wa
每次在某个目录中创建新文件时,我都想解析一个文件。为此,我正在尝试使用 pyinotify设置一个目录来监视 IN_CREATE 内核事件,并触发 parse() 方法。 这是模块: from pyi
我必须注意文件中当前内容的任何输入或所做的任何更改,在进行任何修改后,我需要运行位于同一文件夹中的 python 程序。 我尽力去理解,但我无法得到任何好的结果。如果有人可以帮助我解决这个问题,那将很
我正在尝试查看目录,并正在寻找文件修改。考虑使用 pyinotify。问题是,在使用 IN_MODIFY 事件检查文件更改时,如果我通过网络将一个 12 MB 的小文件复制到目录,它会触发相当多的事件
我在使用 pyinotify 时遇到问题:未调用 ProcessEvent 的方法 process_*() 代码 import sys, time, syslog from pyinotify imp
我是 python 的新手,我正在尝试使用 pygtk 将 pyinotify 与 GUI 界面结合使用。我有两个类,我的 gtk 类不做太多事情,只显示东西,还有一个处理监控的类。 当我分别运行它们
我有一个运行线程的 pyinotify 观察程序,称为一个单独的类,目前它只是在终端窗口中打印其发现,如果我希望我的脚本根据这些更改执行操作,我最好这样做: A) 使用每个通知修改数组 B)写入/tm
我正在使用 pyinotify 来监视文件夹以了解何时在其中创建文件。当创建某些文件时,我想移动它们。问题是文件一创建(很明显),我的程序就会尝试移动它,甚至在它完全写入磁盘之前。 有没有办法让 py
我是一名优秀的程序员,十分优秀!