使用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ù)制指定文件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)腳本鎖功能(同時(shí)只能執(zhí)行一個(gè)腳本)
這篇文章主要介紹了Python實(shí)現(xiàn)腳本鎖功能(同時(shí)只能執(zhí)行一個(gè)腳本),本文給大家分享了兩種方法,大家可以根據(jù)個(gè)人所需選擇適合自己的方法2017-05-05python 實(shí)現(xiàn)保存最新的三份文件,其余的都刪掉
今天小編就為大家分享一篇python 實(shí)現(xiàn)保存最新的三份文件,其余的都刪掉,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python OpenCV機(jī)器學(xué)習(xí)之圖像識(shí)別詳解
OpenCV中也提供了一些機(jī)器學(xué)習(xí)的方法,例如DNN等。本文將為大家詳細(xì)介紹一下OpenCV中利用機(jī)器學(xué)習(xí)實(shí)現(xiàn)的一些圖片識(shí)別功能:人臉識(shí)別、車(chē)牌識(shí)別等,感興趣的可以了解一下2022-01-01Python轉(zhuǎn)換itertools.chain對(duì)象為數(shù)組的方法
這篇文章主要介紹了Python轉(zhuǎn)換itertools.chain對(duì)象為數(shù)組的方法,通過(guò)代碼給大家介紹了itertools 的 chain() 方法,需要的朋友可以參考下2020-02-02python sleep和wait對(duì)比總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python sleep和wait對(duì)比總結(jié)內(nèi)容,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2021-02-02