我有一个应用程序,它在新文件出现在特定目录中时运行。 为此,我使用nncron(cron For windows)作为示例
#(
500 VALUE MonitorDirTimeout
WatchDir: "c:\directory" WatchSubtree
WATCH-CHANGE-LAST-WRITE
Action:
StartIn: "c:\directory"
SWHide NormalPriority
START-APP: c:\app.py
)#
我想使用事件驱动编程和Twisted,并希望在新文件出现在目录中时执行回调。 当然,我可以使用LoopingCall监视目录,但它不是事件驱动的。在
我没有足够的窗口来提供直接的解决方案,但是您可以通过在组成给定reactor/eventloop的系统调用中搜索所需的事件来找到方法。 (即搜索操作系统级API文档,不要将搜索限制在python或twisted上)
从twisted reactor docs我看到WFMO和IOCP是Windows反应器中使用的系统框架。如果你能找到解释如何在目录更新时触发这些事件系统中的任何一个的windows文档,那么在twisted中应该有一个直接触发(而不必轮询)的方法,尽管如果你在这个空间中的第一个,你可能需要写一些接口代码。在
顺便说一句,在这个SO:How do I watch a file for changes using Python?中有一系列(非扭曲的)想法,最直接相关的是:Watch a Directory for Changes
相关问题 更多 >
编程相关推荐