原创 判断文件是否被另一个程序打开

2012-8-19 21:35 3336 15 15 分类: 软件与OS

最近写一个程序需要监控一个文件夹下是否有文件,如果有,则自动打开进行处理。有两种情况:

1、用户从别处复制文件到此文件夹;

2、其他软件输出(或保存)文件到此文件夹;

第一种情况好处理。后一种情况就比较麻烦了,会出现其他软件正在写文件还未结束,本软件就开始对这个文件进行打开和处理了,此时就会出现错误。google了一阵,试了n种方法,终于....

 

                    try:
                        Handle = win32file.CreateFile( self.detcetAutoPltDirList[0], 
                                GENERIC_READ,
                                FILE_SHARE_READ,
                                pywintypes.SECURITY_ATTRIBUTES(),
                                OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,0)
                    except:
                        win32file.CloseHandle(Handle)
                        pass#print 'error'#异常,说明有其他程序正在写文件,还未结束
                    else:
                        #print 'ok'
                        #正常,说明没有其他程序在写此文件,可以打开文件,进行后续处理
                        .......................
 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
15
关闭 站长推荐上一条 /3 下一条