Pythonを使って各サブフォルダから指定ファイルをコピーする方法を実現します。


前に画像を整理するためのウィジェットを忘れないようにしておきました。Pythoonを使ってファイルをコピーした例です。

# -*- 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を使って、各サブフォルダから指定ファイルをコピーする方法は、小编を使って皆さんに共有するすべての内容です。