|
菜鸟一枚,刚接触python. 环境是Python3.7 + win10 操作系统,目前学习python下监视文件夹变化,网上找了一段代码,运行提示报错:
Traceback (most recent call last):
File "D:/untitled/监控Windows某个目录下文件的变化.py", line 39, in <module>
None)
TypeError: an integer is required (got type NoneType)
代码如下: 请大神帮分析下:跪求解答!
import os
import sys
import win32file
import win32con
ACTI** = {
1: "Created",
2: "Deleted",
3: "Update",
4: "Renamed from Something",
5: "Renamed to Something"
}
FILE_LIST_DIRECTORY = 0x0001
path_to_watch = 'E:/2. company'
print('Wathching Change 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 True :
results = win32file.ReadDirectoryChangesW(
hDir,
1024,
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,ACTI**.get(action,"Unknown"))
|
|