我想赶上文件的安全许可变化,直到做出更改,如变更时弹出的事件。捕捉变更文件的安全许可没有阻止
我也不想安装任何第三方模块或软件。
这个的主要要求是在一些win32
模块或内置模块。
我目前看通过这个功能安全变化:
import win32con, win32file
def security_watcher():
specific_file = "specific.ini"
path_to_watch = "."
FILE_LIST_DIRECTORY = 0x0001
hDir = win32file.CreateFile(path_to_watch,
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)
results = win32file.ReadDirectoryChangesW(hDir,
1024,
False,
win32con.FILE_NOTIFY_CHANGE_SECURITY,
None,
None)
print results
for action, file_name in results:
if file_name == specific_file:
# wake another function to do something about that
注:我需要它非阻塞的,因为我在GUI应用程序使用此功能,并冻结GUI。
什么操作系统?显然Windows,但是什么版本?你需要观看多少个文件? (如果它只是一个,你总是可以启动一个单独的阻塞进程,写入管道等)。 – alexis
Windows 7和只有一个文件。 我该怎么做? – justlittlequestion
如果我编写管道它反正块,因为如果GUI进程等待从管道读取我进入阻塞问题,如果没有更改。 – justlittlequestion