异步供电的inotify库
aionotif的Python项目详细描述
aionotify是一个简单的、基于异步的inotify库。
它的使用非常简单:
importasyncioimportaionotify# Setup the watcherwatcher=aionotify.Watcher()watcher.watch(alias='logs',path='/var/log',flags=aionotify.Flags.MODIFY)# Prepare the looploop=asyncio.get_eventloop()asyncdefwork():awaitwatcher.setup(loop)for_iinrange(10):# Pick the 10 first eventsevent=awaitwatcher.get_event()print(event)watcher.close()loop.run_until_completed(work())loop.stop()loop.close()
事件
事件是具有以下属性的简单对象:
- name:修改文件的路径
- flags:修改标志;使用aionotify.Flags.parse()检索单个值的列表。
- alias:触发事件的监视的别名
- cookie:对于重命名,此整数值链接“renamed from”和“renamed to”事件。
手表
aionotify使用一个“手表”系统,类似于inotify。
手表可能有别名;默认情况下,它使用路径名:
watcher=aionotify.Watcher()watcher.watch('/var/log',flags=aionotify.Flags.MODIFY)# Similar to:watcher.watch('/var/log',flags=aionotify.Flags.MODIFY,alias='/var/log')
手表可以使用其别名删除:
watcher=aionotify.Watcher()watcher.watch('/var/log',flags=aionotify.Flags.MODIFY)watcher.unwatch('/var/log')