问题标签 [python-watchdog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - OS X 上 Python 中的看门狗库——未显示完整的事件路径
我刚开始在 Mac 上使用 Python 中的Watchdog 库,并且正在做一些基本的测试以确保一切都像我预期的那样工作。不幸的是,它们不是——我似乎只能获得包含注册事件的文件的文件夹的路径,而不是文件本身的路径。
下面是一个简单的测试程序(对 Watchdog 提供的示例稍作修改),用于在注册事件时打印出事件类型、路径和时间。
src_path 变量应该包含发生事件的文件的路径。
但是,在我的测试中,当我修改文件时, src_path 只打印包含该文件的文件夹的路径,而不是文件本身的路径。例如,当我修改文件moon.txt
夹中的文件europa
时,程序会打印以下输出:
为了获得修改后文件的完整路径,我需要更改什么?
python - Python看门狗,当某些文件被修改时,只创建一个修改过的目录
我正在与 python 看门狗一起工作,我遇到了一个问题,有时在创建/修改文件时看门狗只说
而不是我所期望的
或(emacs 临时文件)
我目前正在搞乱 LoggingEventHandler 并尝试对其进行子类化以查看是否可以解决该问题。为什么当某些文件(似乎是隐藏文件)导致看门狗说只修改了目录而不吐出文件修改事件?
python - 在 Python 中观看和可靠上传文件的最佳实践?
我正在用 Python 2.7 为 Windows 构建一个桌面应用程序。此应用程序的主要功能是监视文件夹中的新文件。每当此文件夹中出现新文件时,应用程序就会将其上传到远程服务器。远程服务器上的进程为该文件创建一个 db 记录,并将远程文件路径存储在该记录中。
目前我正在使用看门狗来监视目录和httplib进行文件上传。
无论网络状况或互联网连接丢失,我应该采取什么方法来确保可靠地上传新文件?
更新:我所说的可靠上传是指即使应用重新启动,应用也会上传文件。像 Dropbox。有些文件非常大(> 100 MB),因此简单的解决方案(例如将代码包装进去
try / catch
并重新开始上传)效率不高。我知道 Dropbox 使用 librsync,但在这种情况下它可能有点矫枉过正。如果在上传过程中源文件被更改了怎么办?我应该停止上传并重新开始吗?
python - FileSystemHandler 未检测到删除
我正在尝试创建一个类似于 Dropbox 的文件观察器,用于跟踪文件更改并在发生更改时更新服务器。不幸的是,我正在使用的 Watchdog 的 fileSystemHandler 的实现无法检测到文件的删除。这是观察者代码
这是启动 FileSystemHandler 的代码
python - 在 Python 中使用 Watchdog 处理图像
我正在使用看门狗库来检测何时在特定文件夹中创建了新图像。当看门狗检测到新创建的图像时,我会使用 SimpleCV / OpenCV 启动一些图像处理功能。
但是,这些图片是从 Raspberry Pi 相机拍摄的,并且从下面的错误中,我不相信当它第一次出现在目录中时整个图像都被保存了。(本质上,文件被保存在“片段”或多格式中)。
请注意,当我将图像复制并粘贴到相应的文件夹中时,脚本会成功运行。
问:有没有什么方法可以在整个文件保存后才开始图像处理?
错误转储:
编辑在识别新文件后将处理程序更新为休眠几秒钟后,我收到一个不同的错误。
错误
请注意,我正在使用以下 Pi 命令捕获图像:raspistill -o 'test.jpg'
python - 在 MacOS X 上安装看门狗 python 错误/失败
我想创建一个 python 程序,它可以持续监视目录中的任何更改,如果更改发生如创建或修改,它应该通过 exec 执行 shell 脚本。出于这个原因,我试图在我的 MacOsX Mavriks 上使用看门狗。但是每次我尝试安装它时,我都会收到一条错误消息,说我是通过
sudo easy_install 看门狗
我还安装了它的所有依赖项,包括自制软件。
是否有任何其他 FAM 可以在我的 Mac 上轻松运行,或者这东西将如何工作
python - Python FileSystemEventHandler 与进程
我正在尝试创建一个监视目录更改的程序。当文件添加到相关目录时,FileHandler(FileSystemEventHandler 的子类)会将文件路径添加到队列中。一个名为 ConsumeQueue 的单独进程将定期检查队列中的项目。如果找到一个项目,它将从队列中获取文件路径并将其打印到控制台。以下是该程序的源代码:
这样做的问题是,虽然观察者似乎正在将项目添加到队列中,但消费者根本没有运行。我认为调用 consumer.start() 至少可以让它运行。我的程序有什么问题?
编辑 - 修复了缩进。
python - Python看门狗重复事件
我创建了一个修改过的看门狗示例,以监视已添加到 Windows 中特定目录的 .jpg 照片的文件。
我注意到的一件事是,当添加文件时,on_created 和 on_modified 都会被调用!为了解决这个问题,我决定只使用 on_modified 方法。但是,我开始注意到这也会导致多次回调,但这次是 on_modified 方法!
我一生都无法弄清楚为什么会这样!好像也不太一致。如果有人能对这个问题有所了解,将不胜感激。
有一个类似的帖子,但它是针对 Linux 的:python watchdog modified and created duplicate events
python - python看门狗在文件更改时使用uwsgi api
每当我尝试此代码和文件更新时,我都会在命令行上收到以下消息:
SystemError:您只能从主可调用对象调用 uwsgi api 函数
任何人都可以向我解释如何正确地做到这一点吗?
谢谢!
python - 使用 python-watchdog 监控文件夹,但是当我重命名文件时,我一直无法找到查看新文件名的方法
重命名看门狗中正在监视的文件会产生 on_moved 事件触发器。我遇到的问题是无法判断文件被移动/重命名为什么(因为 on_moved 事件触发器也会在文件重命名时发生)。有没有办法将它内置到看门狗中,或者我应该在我正在编写的程序中构建一个解决方法?
这是一些示例代码
每当事件发生时,代码都会打印出来,发生的事件类型以及文件/文件夹的路径。它需要一个参数,即要监视的文件夹的路径。