我已经成功地使用了到dbus mainloop中io_add_watch
的python绑定来响应已知单个文件中的更改。但是我现在有一个例子,我运行一个dbus mainloop,需要在目录改变时做一些工作。你知道吗
我已经使用了命令行工具inotifywait -m directory
,以及pyinotify提供的一些示例。现在还不清楚的是我是如何把这两者结合起来的。或者我是否应该。我可以启动一个线程,它使用管道直接运行inotifywait
,然后写入/run
中的一个ram文件,我已经建立了一个io_add_watch
来运行它。我对glib/dbus/mainloop还比较陌生,所以它对我来说还是一种魔力。pyinotify
对我来说似乎有点沉重,但我在这里没有工作经验。你知道吗
我在Debian Jessie上运行,使用python3。我不是在找跨平台的东西。你知道吗
PyInotify可以轻松地监视目录:
完整的教程在这里:https://github.com/seb-m/pyinotify/wiki/Tutorial#1-using-the-notifier-class-without-timeout
特别是要用dbus循环编织notify内容,技巧是使用来自
pyinotify
的ThreadedNotifier
。我用了这样的方法:我的
FileEventHandler
使用了process_IN_CLOSE_WRITE
等标准方法来提交dbus更改。你知道吗相关问题 更多 >
编程相关推荐