找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1677|回复: 1

[求助] Python,监控windows文件夹,运行报错,求解答

1

主题

1

帖子

1

积分

贫民

积分
1
paddy李春雷 发表于 2019-9-13 21:28:53 | 显示全部楼层 |阅读模式
菜鸟一枚,刚接触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"))

回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-9-15 08:43:38 | 显示全部楼层
猜是少给了个参数,需要int类型的。错误最好贴全,方便分析。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表