问题标签 [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 投票
0 回答
891 浏览

python-3.x - Python 看门狗模块重复事件(编辑:不是看门狗问题)

我正在创建一个 python 脚本,它将识别对日志文件的更改并从新日志中打印一些数据。

我使用看门狗创建一个事件处理程序,除此之外一切似乎都工作正常,每次修改文件时都会收到重复的事件。我检查了创建和删除,它们都按预期工作并触发一次。

我已经阅读了类似的问题,该问题解释了在保存文件时创建和修改事件,但这不是我的情况。我只收到两个修改事件。

这是我的代码:

任何想法,将不胜感激

编辑:

经过一番调试,我发现Windows10每次保存时都会更改文件修改时间两次。

概念验证代码是这样的:

在此处输入图像描述

最终编辑:

在 linux(确切地说是 Debian Stretch)上测试我的代码后,它就像一个魅力。所以这与之前的编辑相结合可能表明看门狗工作正常,而 windows10 有一些问题。我应该将其发布在不同的问题上还是在这里?

0 投票
1 回答
58 浏览

python - 抓取修改后的文件名python

在脚本中是一个观察者算法,我从这里改编: https ://www.michaelcho.me/article/using-pythons-watchdog-to-monitor-changes-to-a-directory

我现在的目标是添加几行来获取任何已修改文件的名称,这样我就可以使用 if 语句检查某个文件,例如:

我没有任何看门狗或文件监视的经验,所以我正在努力寻找答案。我将如何收到修改后的文件名?

0 投票
2 回答
123 浏览

python - 新类或新 .py Python

我正在编写一个 python 脚本来检查是否将文件添加到带有看门狗的文件夹中,该文件将被添加到队列中。

我的想法是将文件名添加到 txt,然后运行一个监视 txt 的新类,然后在 cmd 中执行一行并启动例如 FME。

这是为我要打开的每个新程序编写一个新的 .py 的最佳方式吗?例如,一个用于 FME,一个用于记事本。

我仍然希望 wachdog 类进入后台。

  • looking_for_files_and_adding_to_queue py
  • looking_in_queue_for_the_next_in_line_and_direct_to_3_party py
  • FME py
  • 记事本py

等等...

或者在 all.py

今天我的脚本是这样的:

0 投票
0 回答
56 浏览

python-3.x - Python 看门狗 - 不正确的事件 (Visual Studio 2017)

我正在尝试使用python watchdog来检查对文件的修改,然后解析修改后的文件。我遇到的问题是,Visual Studio 在修改文件时似乎会创建一个单独的文件,然后在保存文件时它会交换旧文件和新文件,这会on_moved从看门狗创建一个事件而不是所需的事件on_modified

我的问题是是否有办法在Visual Studio中禁用此功能(最好是每个项目的基础设置)?

这是 Vim 中的一个已知问题,它记录在 watchdogs API 和关闭此功能以获得所需行为的说明中。这就是为什么我认为你可以在 Visual Studio 2017 中做同样的事情。

0 投票
1 回答
358 浏览

python - 看门狗函数的命令行参数

下面是一个工作 python 脚本,它通过命令行接受目录路径并监视该目录,吐出出现在目录中的任何新图像文件的名称。我想通过命令行添加第二个参数,该参数最终会输入到每当新图像文件出现在该目录中时调用的函数。

这样,当我调用文件时,它可以是这样的: python myfile.py /path/to/images arg2 并且 arg2 将在 on_created(self, event) 中可用。对不起,这么新的课程!

0 投票
2 回答
1992 浏览

python - Python看门狗:忽略重复事件

我正在尝试设置看门狗,以便可以监视对 JavaScript 文件的更改。但是当单个文件被修改时,你总是会得到重复的事件。

我想对其进行设置,以便在修改文件时查看事件发生的时间,如果它与前一个事件的秒数相同,那么它什么也不做。这样它就可以忽略重复的事件。有没有办法实现这一点,并且总是将前一个事件的时间存储在一个变量中?

0 投票
0 回答
193 浏览

python - Launch TkInter GUI using Watchdog event

I'm using python package Watchdog to monitor a file for changes, and want to launch a GUI when the file is modified. Currently when I'm initiating the GUI inside the custom handler, the GUI window freezes. Here's a rough idea of what my code looks like:

Any help on this would be greatly appreciated! Thanks!

0 投票
1 回答
2534 浏览

python - 如何在 FTP 服务器上检查目录中的更改?

我想在 FTP 目录中添加新文件后立即将文件从 FTP 服务器获取到本地。

我知道使用看门狗观察者可以看到本地机器上目录的变化。

但我想检查 FTP 服务器上目录的变化(添加新文件,删除文件)。

如何做到这一点?

我用来检查本地机器上目录更改的代码:

0 投票
2 回答
1520 浏览

odoo - Odoo 12 - XML 文件不触发服务器重新加载 --dev=all

新的 Odoo 用户在这里。

自从我开始使用 Odoo(v12) 以来已经有几天了。我设法构建了一个模块,包括创建模型、视图和菜单。它就像一种魅力,虽然有一个问题真的困扰着我。

我已经读过使用 --dev=all arg 运行 odoo-bin(顺便说一句,这需要看门狗)应该在其中一个插件文件夹中更改 .py 或 .xml 文件时触发服务器重新启动.

当我修改 PYTHON 文件时,服务器确实会重新启动,但到目前为止,即使尝试了几个小时,我似乎也无法让同样的事情适用于 XML 文件。

作为参考,我正在从官方文档构建 openacademy 模块,我希望服务器从 XML 文件而不是数据库中读取视图并在更改时重新加载,因此我可以自定义表单和视图并查看结果无需每次都升级我的模块。

不幸的是,--dev=all 似乎不起作用。

任何人都可以帮忙吗?

编辑:这是我用来启动 Odoo 的完整命令:

PS:我在 Windows 10 64bit 上运行 Odoo 12 源代码

0 投票
0 回答
351 浏览

python-3.x - 如何使用看门狗监视 Windows 目录?

我正在尝试使用看门狗查看 System32 上的目录,但它没有收到任何事件,如果我将路径更改为桌面上的文件夹,它就可以工作。该文件夹具有所有人允许的所有安全权限。