电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

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

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

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'

                        #正常,说明没有其他程序在写此文件,可以打开文件,进行后续处理

                        .......................

 

博主
zzgnew@qq.com
younew's Blog
younew
点击跳转