zoukankan      html  css  js  c++  java
  • pyinotify 的简单实用

    import os
    import datetime
    import pyinotify
    import logging
    
    set_ = set()
    class MyEventHandler(pyinotify.ProcessEvent):
    
        def process_IN_CLOSE_WRITE(self, event):
            if "/tmp/pycharm_project_741" != event.pathname and not event.pathname.split('/tmp/pycharm_project_741/')[1].startswith('.'):
                set_.add(event.pathname)
            print("close:  ",set_)
    
        def process_IN_CREATE(self, event):
            print("startswith: ", event.pathname.split('/tmp/pycharm_project_741/')[1])
            # if "/tmp/pycharm_project_741" != event.pathname and not event.pathname.split('/tmp/pycharm_project_741/')[1].startswith('.'):
            #     set_.add(event.pathname)
            # print("CREATE event:", event.pathname)
    
        # def process_IN_MODIFY(self, event):
        #     #被修改
        #     print("MODIFY event:", event.pathname)
    
        def process_IN_OPEN(self, event):
            pass
            # if "/tmp/pycharm_project_741" != event.pathname and not event.pathname.split('/tmp/pycharm_project_741/')[1].startswith('.'):
            #     set_.add(event.pathname)
            # print("OPEN event:", event.pathname)
    
    
    def main():
        # watch manager
        wm = pyinotify.WatchManager()
        wm.add_watch('/tmp/pycharm_project_741/', pyinotify.ALL_EVENTS, rec=True)
        # /tmp是可以自己修改的监控的目录
        # event handler
        eh = MyEventHandler()
    
        # notifier
        notifier = pyinotify.Notifier(wm, eh)
        notifier.loop()
    
    
    if __name__ == '__main__':
        main()
    
    
  • 相关阅读:
    递归删除指定目录下的 .git 文件
    mina 字节数组编解码器的写法 I
    爬取大众点评
    使用Scrapy抓取数据
    Redis:默认配置文件redis.conf详解
    Redis:五种数据类型的简单增删改查
    使用python-docx生成Word文档
    IT部门域事件与业务分析
    因为说比做容易,所以要少说慎说
    主要问题
  • 原文地址:https://www.cnblogs.com/lgw1171435560/p/14329730.html
Copyright © 2011-2022 走看看