美文网首页
监控Windows某个目录下文件的变化

监控Windows某个目录下文件的变化

作者: 夏胖运维 | 来源:发表于2021-05-29 08:42 被阅读0次

    转发:https://blog.csdn.net/weixin_31170085/article/details/112874670

    windows下监控文件系统的变化,用python很方便。需要安装pywin32模块 pip install pywin32
    实例代码如下,很简单,也不多说了。

    import os
    import sys
    
    import win32file
    import win32con
    
    ACTIONS = {
      1: "Created",
      2: "Deleted",
      3: "Updated",
      4: "Renamed from something",
      5: "Renamed to something"
    }
    
    FILE_LIST_DIRECTORY = 0x0001
    
    path_to_watch = 'E:/test'
    print 'Watching changes in', path_to_watch
    hDir = win32file.CreateFile(
      path_to_watch,
      FILE_LIST_DIRECTORY,
      win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE,
      None,
      win32con.OPEN_EXISTING,
      win32con.FILE_FLAG_BACKUP_SEMANTICS,
      None
    )
    
    while 1:
        results = win32file.ReadDirectoryChangesW(
            hDir,
            1024,
            True,
            win32con.FILE_NOTIFY_CHANGE_FILE_NAME |
            win32con.FILE_NOTIFY_CHANGE_DIR_NAME |
            win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES |
            win32con.FILE_NOTIFY_CHANGE_SIZE |
            win32con.FILE_NOTIFY_CHANGE_LAST_WRITE |
            win32con.FILE_NOTIFY_CHANGE_SECURITY,
            None,
            None)
        for action, filename in results:
            full_filename = os.path.join(path_to_watch, filename)
            print full_filename, ACTIONS.get(action, "Unknown")
    

    相关文章

      网友评论

          本文标题:监控Windows某个目录下文件的变化

          本文链接:https://www.haomeiwen.com/subject/hflysltx.html