- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚拿到一台 iPad,就傻傻地拿到了 TexTouch 应用程序。愚蠢的是,由于 Apple 的规定,TexTouch 无法编译 Tex。它使用 Dropbox 将 .tex 文件同步到计算机。在远程计算机上,它被另一个将 .tex 文件编译为 PDF 并将其发回的程序捕获。但是(惊讶!)那个远程程序只在 Windows 和 Mac 中。我在 Linux 上。所以我想,为什么不使用 inotify?为了让事情更简单一些,我实际上使用了 pyinotify,所以我不必处理大量的编译。但是,当 Dropbox 删除文件时,用 pyinotify 的白话来说,就是发生的事件。 (显然,“first doc.tex”是我正在同步的文件的名称。)
event: <Event dir=False mask=0x20 maskname=IN_OPEN name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x1 maskname=IN_ACCESS name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x10 maskname=IN_CLOSE_NOWRITE name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event cookie=151401 dir=False mask=0x40 maskname=IN_MOVED_FROM name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event cookie=151402 dir=False mask=0x80 maskname=IN_MOVED_TO name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x4 maskname=IN_ATTRIB name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x20 maskname=IN_OPEN name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x1 maskname=IN_ACCESS name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x10 maskname=IN_CLOSE_NOWRITE name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x20 maskname=IN_OPEN name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x1 maskname=IN_ACCESS name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x10 maskname=IN_CLOSE_NOWRITE name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x20 maskname=IN_OPEN name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x1 maskname=IN_ACCESS name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x10 maskname=IN_CLOSE_NOWRITE name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x20 maskname=IN_OPEN name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x1 maskname=IN_ACCESS name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
event: <Event dir=False mask=0x10 maskname=IN_CLOSE_NOWRITE name=first doc.tex path=/home/eje211/Dropbox/TexTouch pathname=/home/eje211/Dropbox/TexTouch/first doc.tex wd=1 >
我能从中得到什么?唯一看起来唯一的事件是 IN_MOVE_FROM 和 IN_MOVE_TO 事件。但监控这些似乎是个坏主意。有没有办法检测由 Dropbox 发起的事件?我应该使用 inotify 或 pyinotify 以外的东西吗?
最佳答案
嗯,IN_OPEN
(文件打开阅读),IN_ACCESS
(文件访问)和IN_ATTRIB
(文件属性修改)显然不是什么你需要。 IN_CLOSE_NOWRITE
表示文件已关闭以供读取(即无法进行任何更改),因此这也不是您所需要的。所以它必须是 IN_MOVED_FROM
或 IN_MOVED_TO
。您确定没有其他事件发生吗?如果是,那么该文件可能是在其他地方创建的,然后被移动到它在 ~/Dropbox
的最终位置。
关于Dropbox 和 pyinotify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795022/
我刚拿到一台 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
我是一名优秀的程序员,十分优秀!