关于win32file.ReadDirectoryChangesW的一个问题

w597766166 2012-01-10 07:44:09
google了半天,直接上代码吧

import os
import win32file
import win32con

path = "C:\\test"
FILE_LIST_DIRECTORY = 0x0001
BUFFER_SIZE = 2048

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

results = win32file.ReadDirectoryChangesW (
hDir,
BUFFER_SIZE,
True,
win32con.FILE_NOTIFY_CHANGE_LAST_WRITE,
None,
None
)


运行后总是报错误:pywintypes.error: (87, 'ReadDirectoryChangesW', '\xb2\xce\xca\xfd\xb2\xbb\xd5\xfd\xc8\xb7\xa1\xa3')

google上关于windows下文件监控的ReadDirectoryChangesW 示例几乎都试过了,还是不行,始终参数错误,郁闷ing。。。

求高手帮个忙吧 先谢谢了~~
...全文
324 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
w597766166 2012-01-15
  • 打赏
  • 举报
回复
嗯 换了个pywin32的包解决了,感谢楼上2位!
angel_su 2012-01-11
  • 打赏
  • 举报
回复
FILE_LIST_DIRECTORY你定义这个貌似没用吧,CreateFile的第二参数是读写模式,不能判断打开的是不是一个目录,你用os.path.isdir(path)判断吧,或者win api函数GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY
libralibra 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 w597766166 的回复:]

引用 1 楼 libralibra 的回复:
我复制你的代码,第一次是错误路径不存在,createfile错误,我建立了c:\test文件夹后运行正常,没死机,没输出
你什么环境啊?我是py2.7+win7


你的python具体版本和pywin32的具体安装包是哪个?

能帮我写下全名么? 谢了~~~

我是XP系统,python2.6
[/Quote]
python2.7, windows 7旗舰,pywin32-216.win32-py2.7
w597766166 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 libralibra 的回复:]
我复制你的代码,第一次是错误路径不存在,createfile错误,我建立了c:\test文件夹后运行正常,没死机,没输出
你什么环境啊?我是py2.7+win7
[/Quote]

你的python具体版本和pywin32的具体安装包是哪个?

能帮我写下全名么? 谢了~~~

我是XP系统,python2.6
libralibra 2012-01-10
  • 打赏
  • 举报
回复
我复制你的代码,第一次是错误路径不存在,createfile错误,我建立了c:\test文件夹后运行正常,没死机,没输出
你什么环境啊?我是py2.7+win7

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧