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

python - 处理来自看门狗的 OSError

我一直在使用 tkinter 组合看门狗模块来处理一些上传请求。大多数情况下它工作正常,但有时我们的网络驱动器会变得不稳定并在一段时间内断开连接。但是,我无法找到捕获此错误的正确位置。

这是我让它运行几天后得到的:

谁能建议如何正确处理此异常?

0 投票
1 回答
748 浏览

python - Windows 操作系统:Python Watchdog 检测“已删除”文件的目标文件路径

我有一个使用看门狗 python 模块在 Windows 上运行的 python 脚本,该模块旨在递归地检测包含文件夹的文件夹中的文件位置更改。当我在当前位置之外的内部文件夹中移动文件时,会发生 FileDeleted 事件而不是 FileMoved。我希望能够知道文件的结束位置是什么,我可以在 Mac 上做到这一点,但在 Windows 上却不行。我读了这篇文章,这表明问题出在 Windows 上。

这是我的代码:

如何使文件移动事件发生,而不是文件创建和删除事件?或者是否有一种解决方法可以让我通过获取最终文件路径来将 DeletedEvent 视为 MovedEvent?

任何帮助将不胜感激!

0 投票
2 回答
651 浏览

python - Python Watchdog - 如何仅查看文件何时创建?

Watchdog Quickstart中,我可以看到所有事件,例如修改文件夹、删除文件、创建文件等。但是,我只想查看创建文件的时间。我必须更改什么才能仅查看创建的文件?

0 投票
0 回答
63 浏览

python - 如果直接运行 Python 模块会生成日志,但在由 `pytest` 运行时不会生成日志

我是 python 日志记录的新手,想为一个项目创建一个可靠的日志记录设置,用于watchdog记录给定目录中 DICOM 文件的创建。我的项目结构是:


到目前为止,我有一个LOGGING_DICTin qa_logger.pyLOGGING_DICT被导入watcher.py(并最终导入其他模块),然后在顶部附近watcher.py,我放了以下几行:

当我运行时python watcher.py,所有日志都生成得很好。日志既打印到控制台又写入文件src\logs\qa_watch.log

当我运行时出现问题pytest。根本不生成日志。然而,奇怪的是,如果文件不存在,src\logs\qa_watch.log 则会创建python watcher.py该文件,但它从未被写入(与我运行时不同)!

我想pytest用来验证src\logs\qa_watch.log在监视文件夹中创建有效 DICOM 文件时是否生成了日志。

任何帮助将不胜感激,包括关于如何更好地构建事物的任何评论!我仍然(并且永远会)学习!

编辑:日志级别不是问题。如果我使用logger.warning()而不是logger.info()登录,我会遇到同样的问题watcher.py

文件:



0 投票
1 回答
241 浏览

python - 如何在看门狗中输入文件名作为模式

假设我有这样的代码

我的目标是让用户patterns在 MyHandler 类的变量中输入 fname。

我尝试了上面提到的一些方法,但没有奏效。它说fname is not defined。好吧,我也试过patterns = [].append("*/"+fname)了,也没有成功。

然后我尝试创建一个初始化函数

并像过去一样observer.schedule(MyHandler(fname), path='.')

无赖!也没有成功。我怎样才能做到这一点?

0 投票
1 回答
607 浏览

python - 如果在目录中创建了新文件,则启动 python 模块(看门狗)

因此,我正在尝试创建一个处于活动状态的 python 应用程序,当文件在目录中创建,然后使用新文件开始幻灯片放映时。我理解并设法正确地创建和执行了 Watchdog-Observer,但现在我不知道如何继续。

在一个模块(mediachecker.py)中,观察者被写入,在模块 main.py 中,mediachecker.py 被执行。我现在想继续,只在创建文件时启动我的 slideshow.py 模块(所以当观察者检测到 on_created 事件时)。

我想我不太了解观察者或看门狗的概念,也不知道如何处理结果事件。

我希望你们能帮助我!

媒体检查器.py

主文件

slideshow.py 目前是空的,很快就会被写入

0 投票
1 回答
215 浏览

python - Flexx for Python:如何在应用程序上下文之外获取 PyComponent 实例(看门狗 EventHandler)

我目前正在研究Flexx,以便为我的 Python 程序制作 UI。我开始掌握它,但我遇到了一个问题。

我需要能够PyComponentApp. 我知道这app.cls给出了用于实例化应用程序的类,但它不是实际实例,所以我不能做类似app.cls.my_method(...).

有没有办法在应用程序包装器中获取组件的实例,只知道App实例?

谢谢!

编辑:查看源代码后,我发现大部分未记录AppManagerSession定义,并且可以通过以下方式获得对组件实例的引用:

watchdog.events.FileSystemEventHandler但是,如果我从库实例化的a 中调用它的方法之一watchdog,我会得到以下回溯:

请注意,这update_verbose是一个改变属性的 Flexx 操作。我怀疑看门狗处理程序在不同的线程上运行但我看不到要更改的内容的问题...

0 投票
1 回答
580 浏览

python-3.x - 结合 tkinter 和看门狗

我正在尝试以下

  • 使用 tkinter 创建一个 GUI,用户将在其中选择要观看的目录
  • 关闭窗口
  • 将目录的路径传递给看门狗,以便它可以监视文件更改

如何将两个脚本组合到一个应用程序中?

下面的帖子有一个脚本,当我将 *.jpg 文件添加到我的临时文件夹(osx)时,它什么都不做。 https://stackoverflow.com/a/41684432/11184726

有人可以向我指出一个课程或教程,这将帮助我了解如何结合正在发生的事情。

1.图形界面:

2.看门狗:

0 投票
2 回答
730 浏览

python - 安装了看门狗模块。但我无法访问该模块

当我在 python 中使用“import watchdog”时……它显示没有名为 watchdog 的模块……我在 linux (centos) 中工作

看门狗模块目录-----'/home/admin/watchdog'

我已经尝试了以下所有代码

1)

2)

3)

4)

0 投票
1 回答
1014 浏览

python - PatternMatchingEventHandler 忽略我没有设置到它的属性中的模式

我正在使用看门狗来监视我的机器正在生成 CSV 文件的文件夹。但是在生成 CSV 文件之前,我的机器正在生成临时文件,然后将其转换为正确的 CSV。因此,为了忽略已放入正在监视的文件夹中的临时文件,我使用了 PatternMatchingEventHandler。

下面给出了相同的代码

当我将扩展名为 .temp 的文件放入正在监视的文件夹中时,观察者会忽略该文件。尽管在 ignore_function 属性中给出了“*.tmp” ,但它忽略了“.temp”文件。如何确保我的处理程序正常工作?

提前致谢。