之前用來整理圖片的小程序,拿來備忘,算是使用Python復(fù)制文件的一個(gè)例子。
# -*- coding: utf-8 -*-#程序用來拷貝文件并輸出圖片采集日期等其他信息到Excel中#文件夾結(jié)構(gòu):#2016_07_07# -Data_07_07_001# -Random1# -image001_co.pgm# -image001_c1.pgm# -image002_co.pgm# -image002_c1.pgm# -……# -Random2# -……# -Data_07_07_002# -Data_07_07_003# -……#所以我們只是拷貝每個(gè)子文件夾中,Random1文件夾中的_co.pgm數(shù)據(jù) import osimport reimport xlwt hang=0#遞歸復(fù)制文件夾內(nèi)的文件def copyFiles(sourceDir,targetDir): global hang #全局變量,記錄即將寫入Excel的行號(hào) worksheet.write(hang, 0, label = sourceDir) for file in os.listdir(sourceDir): frames = '('+file[file.find('_')+1:]+')' #待寫入Excel中的數(shù)據(jù) sourceDir1 = os.path.join(sourceDir,file) #路徑名拼接 targetDir1 = os.path.join(targetDir,file) for file in os.listdir(sourceDir1): sourceDir2 = os.path.join(sourceDir1,file) #忽略某些特定的子文件夾 if sourceDir2.find("Random1")>0: #列出源目錄文件和文件夾 count= -1 for file in os.listdir(sourceDir2): #拼接完整路徑 if re.search('_c0.pgm',file): count+=1 sourceFile = os.path.join(sourceDir2,file) targetFile = os.path.join(targetDir1,file) if os.path.isfile(sourceFile): if not os.path.exists(targetDir1): os.makedirs(targetDir1) if not os.path.exists(targetFile) or (os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))): open(targetFile, "wb").write(open(sourceFile, "rb").read()) print targetFile+" copy succeeded" frames = '0-'+str(count)+frames worksheet.write(hang, 1, label = 1) worksheet.write(hang, 2, label = frames) hang+=1 print frames workbook = xlwt.Workbook()worksheet = workbook.add_sheet('My Worksheet')copyFiles("F:/2016_07_07","F:/07_07")workbook.save('auto_book.xls')print 'end'以上這篇使用Python實(shí)現(xiàn)從各個(gè)子文件夾中復(fù)制指定文件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選