监视.docx文件更改时出现问题

2024-10-03 19:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python代码监视.docx文件,如下所示

    hDir = win32file.CreateFile (
  dirPath,
  FILE_LIST_DIRECTORY,
  win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE,
  None,
  win32con.OPEN_EXISTING,
  win32con.FILE_FLAG_BACKUP_SEMANTICS,
  None
)

while 1:
    # Wait for a change to occur
    results = win32file.ReadDirectoryChangesW (
                                               hDir,
                                               1024,
                                               False,
                                               win32con.FILE_NOTIFY_CHANGE_LAST_WRITE,
                                               None,
                                               None
                                               )

当我试图捕获对该文件所做的更改时,filename与ms word document的临时文件名一起出现。如何在python中捕获这些临时文件更改。你知道吗


Tags: 文件代码nonesharedirectorylistfilewrite
1条回答
网友
1楼 · 发布于 2024-10-03 19:29:48

这适用于以下代码。如果我们可以监视文件\通知\更改\安全事件,那么我们也可以跟踪所有临时文件更改。你知道吗

 readFlags = 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
# Wait for new data and call ProcessNewData for each new chunk that's written
while 1:
    # Wait for a change to occur
    results = win32file.ReadDirectoryChangesW (
                                               hDir,
                                               1024,
                                               False,
                                               readFlags,
                                               None
                                               )

相关问题 更多 >