使用Python實現(xiàn)從各個子文件夾中復制指定文件的方法
更新時間:2018年10月25日 14:49:27 作者:bit_cs2010
今天小編就為大家分享一篇使用Python實現(xiàn)從各個子文件夾中復制指定文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
之前用來整理圖片的小程序,拿來備忘,算是使用Python復制文件的一個例子。
# -*- 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
# -……
#所以我們只是拷貝每個子文件夾中,Random1文件夾中的_co.pgm數(shù)據(jù)
import os
import re
import xlwt
hang=0
#遞歸復制文件夾內(nèi)的文件
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中的數(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實現(xiàn)從各個子文件夾中復制指定文件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實現(xiàn)腳本鎖功能(同時只能執(zhí)行一個腳本)
這篇文章主要介紹了Python實現(xiàn)腳本鎖功能(同時只能執(zhí)行一個腳本),本文給大家分享了兩種方法,大家可以根據(jù)個人所需選擇適合自己的方法2017-05-05
python 實現(xiàn)保存最新的三份文件,其余的都刪掉
今天小編就為大家分享一篇python 實現(xiàn)保存最新的三份文件,其余的都刪掉,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python轉(zhuǎn)換itertools.chain對象為數(shù)組的方法
這篇文章主要介紹了Python轉(zhuǎn)換itertools.chain對象為數(shù)組的方法,通過代碼給大家介紹了itertools 的 chain() 方法,需要的朋友可以參考下2020-02-02

