问题标签 [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.

0 投票
4 回答
2897 浏览

python - 来自两个不同目录的文件的 Python 看门狗

我正在尝试使用 Python 的看门狗模块来监听文件系统的变化。我想监视来自两个不同目录的文件。对于单个文件监视,我使用PatternMatchingEventHandler了 from watchdog.events. 我想对多个目录使用相同的。

代码:

在上面的代码中,我尝试进行多目录观察格式并为每个文件创建一个事件处理程序。它不适合我。有什么我在这里想念的吗?这样做的方法是什么?

谢谢。

0 投票
1 回答
82 浏览

python - Python Twilio/Watchguard 脚本发送 2 条消息而不是预期的 1 条消息

我编写了这个脚本,以便在修改文件 results.txt 时向自己发送短信。它将文件内容以文本形式发送到我的手机(我已经更改了问题中的数字)。它有效,除了每次修改我都会收到两条相同的 SMS 消息,而且我一生都无法弄清楚原因。

编辑**

这是写入 results.txt 的文件:

0 投票
0 回答
313 浏览

python-3.x - Python看门狗 - 返回触发事件的用户的用户名

我有一个 Windows 文件服务器,它正在运行看门狗来监视文件路径。我的目标是了解我的哪些域用户正在更改此文件路径。

我尝试了以下方法,它们只返回运行控制台“管理员”的用户名,而不是触发的域用户。

我环境中的每台机器都在运行 Windows。

关于如何返回域用户的任何想法?

0 投票
0 回答
404 浏览

python-3.x - Watchdog 在 Spyder IDE 中生成重复的 FileModifiedEvent

当我在 Spyder IDE 中运行以下脚本FileModifiedEvent时,只要修改了受监视文件夹中的文件,看门狗就会触发两个,而不是一个。脚本是通过 iPython 运行还是在常规控制台中运行都没有关系。从命令提示符执行脚本时不会出现该问题,因此该问题必须与 Spyder 有关。

在 spyder 内部,输出为:

通过命令提示符,输出为:

该代码正在使用 Python 3.5.1 和 Spyder 2.3.8 的 Windows 7 中执行。

0 投票
0 回答
435 浏览

python - 使用看门狗监视文件是否停止复制

我正在通过 WebDAV 将大文件(数 GB)上传到服务器,我想查看文件是否仍在被复制(最好检查文件大小是否仍在增加),或者是否出现问题并且上传被中断。

目前,我正在使用基于看门狗包中的快速入门示例的以下代码:

但这仅在服务器上创建文件以及完成上传时才给我输出。此外,当我在中途中断上传时,它并没有告诉我文件已完成上传,它只说它已创建。我现在如何检查文件是否正在上传并在被中断时引发错误?可以用看门狗完成还是我应该使用轮询?

0 投票
1 回答
937 浏览

python - 在 Ubuntu 16.04 LTS 中检测与外部云存储同步的目录中的文件更改

我正在制作一个软件,用于检测是否有新文件从虚拟机实例上传到 Google Cloud Platform 的存储桶存储中。此命令使用 Cloud Storage Fuse 将名为 images 的文件目录挂载到存储桶

每当一个文件被上传到存储桶中时,该文件也会出现在 images 目录中。我正在使用 Python Watchdog 包来检测是否创建了新文件

问题是看门狗没有检测到任何东西,即使每次我在存储桶存储中上传内容时在图像目录中创建了一个新文件。我也尝试过使用 inotify 但结果也是一样的。当我在 Windows 平台本地尝试时,代码运行没有任何问题。我实际上对 Ubuntu 很陌生。谁能帮我解决这个问题?

0 投票
2 回答
962 浏览

python - 将 RotatingFileHandler 添加到 Watchdog 日志记录

我正在尝试将 RotatingFileHandler 添加到我的看门狗中,让我能够控制日志文件的增长。出于说明目的,我将使用Watchdog 快速入门示例

我找到了一个解释如何实现 Python 的日志记录 RotatingFileHandler 的线程,但是当我尝试组合这两个脚本时遇到了困难:

该代码不会产生任何错误,但会照常记录。我怀疑 RotatingFileHandler 只传递给常规记录器而不是 LoggingEventHandler,但我不知道如何将它传递给正确的处理程序。

非常感谢任何提示,

问候

0 投票
1 回答
705 浏览

python - Python看门狗使用忽略任何目录中的隐藏文件

我使用了 Watchdog,我认为它会忽略任何目录中有关隐藏文件的事件:

它不会因为子目录中的隐藏文件仍然调用 on_modified 和 on_created 。顶级目录中的隐藏文件被排除,这很好。我究竟做错了什么?

0 投票
1 回答
1316 浏览

python - 特定python进程的看门狗

我正在使用 Ubuntu 16.04,我在后台有一个 python 运行进程

有时,myFunction进程会因未知原因被杀死,但是,我想自动重新启动它。我有多个 python 进程在后台运行,我不知道哪个运行myFunctions.py(例如通过使用pgrep命令)。

可能吗?python myFunction.py每当运行它的python进程被杀死时,我可以制作一个bash或python脚本来重新启动命令吗?

0 投票
0 回答
1382 浏览

python - 如何安全地停止看门狗观察者?

我正在尝试找到一种方法来安全地停止我正在运行的看门狗事件处理程序。我的函数正在获取一个命令参数,如果命令是停止看门狗事件观察者,那么只要它安全地完成其任务,它就应该停止事件和侦听器,这意味着我不想中断任务。

如果您在该问题上提供支持,我将不胜感激。

谢谢你。

更新:1

我尝试遵循库文档,我的实现如下:

之后,我在观察者类中找到了一个属性,并将实现更改如下:

你觉得我的方法怎么样?如果您知道更好的解决方案,我将不胜感激。谢谢