python - Twisted:目录中新文件的事件

标签 python windows python-2.7 twisted event-driven

我有一个应用程序,它会在新文件出现在特定目录中时运行。 为此,我使用 nncron(Windows 的 cron),一个示例

#(
500 VALUE MonitorDirTimeout
WatchDir: "c:\directory" WatchSubtree
WATCH-CHANGE-LAST-WRITE
Action:
        StartIn: "c:\directory"
        SWHide   NormalPriority
        START-APP: c:\app.py
)#

我想使用事件驱动编程和Twisted,并且想在目录中出现新文件时执行回调。 当然我可以用LoopingCall监控目录,但它不是事件驱动的。

最佳答案

我没有做足够多的窗口来获得直接的解决方案,但您可以通过在构成给定 react 器/事件循环的系统调用中搜索所需的事件来找到自己的方法。 (即搜索操作系统级别的 API 文档,不要将搜索限制为 python 或 twisted)

来自 twisted reactor docs我看到 WFMO 和 IOCP 是 Windows react 器中使用的系统框架。如果你能找到解释如何在目录更新时触发这些事件系统中的任何一个的 Windows 文档,那么应该有一种直接的方式来触发(而不必轮询)扭曲,但如果你可能需要编写一些接口(interface)代码这个领域的第一个。

顺便说一句,在这个 SO 中有一系列(非扭曲的)想法:How do I watch a file for changes using Python? ,最直接相关的是:Watch a Directory for Changes

关于python - Twisted:目录中新文件的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23999084/

相关文章:

python - 如何在微服务中存储版本化的XSLT文件

python - 我们可以在不同的项目中使用 django 身份验证作为微服务吗?

windows - 个人互联网使用监控

python - PySide、PysideUIC 和多重继承

python - 如何使用python发送nc类似命令?

python - 为什么 python 异常通常不打印违规值?

python - 是否有用于解析没有 MediaWiki 的 Wikipedia 文章的 Python 模块?

windows - 以编程方式在 R Console 中设置字体和字体大小?

windows - 如何使用批处理文件更改注册表权限以从导航 Pane 中删除网络

python-2.7 - 修改在 Docker 镜像中使用 pip 安装的 python 文件