今天小編就爲大家分享一篇使用Python實現從各個子文件夾中複製指定文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
之前用來整理圖片的小程序,拿來備忘,算是使用Python複製文件的一個例子。
# -*- coding: utf-8 -*- #程序用來拷貝文件並輸出圖片採集日期等其他信息到Excel中 #文件夾結構: #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 # -…… #所以我們只是拷貝每個子文件夾中,Random1文件夾中的_co.pgm數據 import os import re import xlwt hang=0 #遞歸複製文件夾內的文件 def copyFiles(sourceDir,targetDir): global hang #全局變量,記錄即將寫入Excel的行號 worksheet.write(hang, 0, label = sourceDir) for file in os.listdir(sourceDir): frames = '('+file[file.find('_')+1:]+')' #待寫入Excel中的數據 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實現從各個子文件夾中複製指定文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。