我一直使用Tom Goldens很好的例子来监控python(http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html)的文件夹。我正在使用他的第三个例子检查一个更改,一切都很好,但我真的想列出更改文件夹的过程。我试过寻找解决方案,但还没找到任何有用的东西,有人可以帮忙吗?
我的第一个想法是在win32con中寻找一些东西,Tim在CreateFile中使用,但我找不到任何有用的东西..: - /
ACTIONS = {
1: "Created",
2: "Deleted",
3: "Updated",
4: "Renamed from something",
5: "Renamed to something"
}
FILE_LIST_DIRECTORY = 0x0001
try:
# Setup "listener", that looks for changes on the path
hDir = win32file.CreateFile(
my_path,
FILE_LIST_DIRECTORY,
win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE | win32con.FILE_SHARE_DELETE,
None,
win32con.OPEN_EXISTING,
win32con.FILE_FLAG_BACKUP_SEMANTICS,
None
)
except:
sys.exit()
while 1:
results = win32file.ReadDirectoryChangesW(
hDir,
2048,
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, file in results:
#This is where I do my action