溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

使用Python實(shí)現(xiàn)從各個(gè)子文件夾中復(fù)制指定文件的案例

發(fā)布時(shí)間:2021-04-09 11:49:44 來(lái)源:億速云 閱讀:215 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下使用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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI