我们从Python开源项目中,提取了以下20个代码示例,用于说明如何使用win32com.shell.shell.SHFileOperation()。
def testRename(self): s = (0, # hwnd, FO_RENAME, #operation self.src_name, self.dest_name) rc, aborted = shell.SHFileOperation(s) self.failUnless(not aborted) self.failUnlessEqual(0, rc) self.failUnless(os.path.isfile(self.dest_name)) self.failUnless(not os.path.isfile(self.src_name))
def testSHFileOperation(file_cnt): temp_dir=os.environ['temp'] orig_fnames=[win32api.GetTempFileName(temp_dir,'sfo')[0] for x in range(file_cnt)] new_fnames=[os.path.join(temp_dir,'copy of '+os.path.split(orig_fnames[x])[1]) for x in range(file_cnt)] pFrom='\0'.join(orig_fnames) pTo='\0'.join(new_fnames) shell.SHFileOperation((0, shellcon.FO_MOVE, pFrom, pTo, shellcon.FOF_MULTIDESTFILES|shellcon.FOF_NOCONFIRMATION)) for fname in orig_fnames: assert not os.path.isfile(fname) for fname in new_fnames: assert os.path.isfile(fname) shell.SHFileOperation((0, shellcon.FO_DELETE, fname, None, shellcon.FOF_NOCONFIRMATION|shellcon.FOF_NOERRORUI))
def testSHNAMEMAPPINGS(file_cnt): ## attemps to move a set of files to names that already exist, and generated filenames should be returned ## as a sequence of 2-tuples created from SHNAMEMAPPINGS handle temp_dir=os.environ['temp'] orig_fnames=[win32api.GetTempFileName(temp_dir,'sfo')[0] for x in range(file_cnt)] new_fnames=[win32api.GetTempFileName(temp_dir,'sfo')[0] for x in range(file_cnt)] pFrom='\0'.join(orig_fnames) pTo='\0'.join(new_fnames) rc, banyaborted, NameMappings=shell.SHFileOperation((0, shellcon.FO_MOVE, pFrom, pTo, shellcon.FOF_MULTIDESTFILES|shellcon.FOF_NOCONFIRMATION|shellcon.FOF_RENAMEONCOLLISION|shellcon.FOF_WANTMAPPINGHANDLE)) for old_fname, new_fname in NameMappings: print 'Old:',old_fname, 'New:', new_fname assert len(NameMappings)==file_cnt
def testCopy(self): s = (0, # hwnd, FO_COPY, #operation self.src_name, self.dest_name) rc, aborted = shell.SHFileOperation(s) self.failUnless(not aborted) self.failUnlessEqual(0, rc) self.failUnless(os.path.isfile(self.src_name)) self.failUnless(os.path.isfile(self.dest_name))
def testMove(self): s = (0, # hwnd, FO_MOVE, #operation self.src_name, self.dest_name) rc, aborted = shell.SHFileOperation(s) self.failUnless(not aborted) self.failUnlessEqual(0, rc) self.failUnless(os.path.isfile(self.dest_name)) self.failUnless(not os.path.isfile(self.src_name))
def testDelete(self): s = (0, # hwnd, FO_DELETE, #operation self.src_name, None, FOF_NOCONFIRMATION) rc, aborted = shell.SHFileOperation(s) self.failUnless(not aborted) self.failUnlessEqual(0, rc) self.failUnless(not os.path.isfile(self.src_name))
def testSHNAMEMAPPINGS(file_cnt): ## attemps to move a set of files to names that already exist, and generated filenames should be returned ## as a sequence of 2-tuples created from SHNAMEMAPPINGS handle temp_dir=os.environ['temp'] orig_fnames=[win32api.GetTempFileName(temp_dir,'sfo')[0] for x in range(file_cnt)] new_fnames=[win32api.GetTempFileName(temp_dir,'sfo')[0] for x in range(file_cnt)] pFrom='\0'.join(orig_fnames) pTo='\0'.join(new_fnames) rc, banyaborted, NameMappings=shell.SHFileOperation((0, shellcon.FO_MOVE, pFrom, pTo, shellcon.FOF_MULTIDESTFILES|shellcon.FOF_NOCONFIRMATION|shellcon.FOF_RENAMEONCOLLISION|shellcon.FOF_WANTMAPPINGHANDLE)) for old_fname, new_fname in NameMappings: print('Old:',old_fname, 'New:', new_fname) assert len(NameMappings)==file_cnt