您好,登錄后才能下訂單哦!
小編給大家分享一下使用Python實(shí)現(xiàn)從各個(gè)子文件夾中復(fù)制指定文件的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
之前用來(lái)整理圖片的小程序,拿來(lái)備忘,算是使用Python復(fù)制文件的一個(gè)例子。
# -*- coding: utf-8 -*- #程序用來(lái)拷貝文件并輸出圖片采集日期等其他信息到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 os import re import xlwt hang=0 #遞歸復(fù)制文件夾內(nèi)的文件 def copyFiles(sourceDir,targetDir): global hang #全局變量,記錄即將寫(xiě)入Excel的行號(hào) worksheet.write(hang, 0, label = sourceDir) for file in os.listdir(sourceDir): frames = '('+file[file.find('_')+1:]+')' #待寫(xiě)入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ù)制指定文件的案例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。