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 - 如何触发模型更新它链接到的列表

python - 在 python 中声明文件夹路径的正确方法是什么?

python - pandas 逐日迭代数据框

windows - ggplot 字体系列在版本之间发生变化

c++ - 使用信号量的单 channel 桥同步

python-2.7 - 使用 Avro 将对象编码为 Python 中的字节数组

Python如何正确应用类

windows - 等效于 ps -A | Windows 中的 grep -c 进程?

python-2.7 - 如何在 Kivy 中处理同时按下的多个键?

python 2.7 : delete item from list by value