Python监控Windows下的文件变化
2014-10-11 08:46
375 查看
windows下监控文件系统的变化,用python很方便。实例代码如下,很简单,也不多说了。
import os
import win32file
import win32con
ACTIONS = {
1 : "Created",
2 : "Deleted",
3 : "Updated",
4 : "Renamed from something",
5 : "Renamed to something"
}
FILE_LIST_DIRECTORY = win32con.GENERIC_READ | win32con.GENERIC_WRITE
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
)
if __name__ == '__main__':
print("123")
while 1:
print("321")
results = win32file.ReadDirectoryChangesW (
hDir, #handle: Handle to the directory to be monitored. This directory must be opened with the FILE_LIST_DIRECTORY access right.
1024, #size: Size of the buffer to allocate for the results.
True, #bWatchSubtree: Specifies whether the ReadDirectoryChangesW function will monitor the directory or the directory tree.
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, file in results:
full_filename = os.path.join (path_to_watch, file)
print (full_filename, ACTIONS.get (action, "Unknown"))
相关参考链接:
http://docs.activestate.com/activepython/2.4/pywin32/win32file__ReadDirectoryChangesW_meth.html
http://docs.activestate.com/activepython/2.5/pywin32/win32file__CreateFile_meth.html
import os
import win32file
import win32con
ACTIONS = {
1 : "Created",
2 : "Deleted",
3 : "Updated",
4 : "Renamed from something",
5 : "Renamed to something"
}
FILE_LIST_DIRECTORY = win32con.GENERIC_READ | win32con.GENERIC_WRITE
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
)
if __name__ == '__main__':
print("123")
while 1:
print("321")
results = win32file.ReadDirectoryChangesW (
hDir, #handle: Handle to the directory to be monitored. This directory must be opened with the FILE_LIST_DIRECTORY access right.
1024, #size: Size of the buffer to allocate for the results.
True, #bWatchSubtree: Specifies whether the ReadDirectoryChangesW function will monitor the directory or the directory tree.
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, file in results:
full_filename = os.path.join (path_to_watch, file)
print (full_filename, ACTIONS.get (action, "Unknown"))
相关参考链接:
http://docs.activestate.com/activepython/2.4/pywin32/win32file__ReadDirectoryChangesW_meth.html
http://docs.activestate.com/activepython/2.5/pywin32/win32file__CreateFile_meth.html
相关文章推荐
- Python监控Windows下的文件变化
- Python for Windows——监控Windows某个目录下文件的变化
- python 监控文件变化
- python中文件变化监控-watchdog
- python监控文件或目录变化
- 【Python】监控文件内容增删改操作变化
- Python监控文件变化:watchdog
- Windows编程-----文件变化监控问题
- Python监控目录和文件变化
- 使用Python监控文件内容变化代码实例
- Python监控文件变化:watchdog
- python中文件变化监控示例(watchdog)
- Windows监控文件变化(ReadDirectoryChangesW)
- python 监控文件变化
- python监控文件或目录变化
- 9-30 python监控windows某个进程的变化(修正版)
- windows 编译 python脚本为exe文件
- 将Python脚本文件转化成Windows可执行exe文件
- Windows文件变更监控
- Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中