Python文件夾批處理操作代碼實例
如圖所示,有一個test文件夾,里面有3個子文件夾,每個子文件夾中有若干圖片文件
#場景1 讀取一個文件夾中所有文件,存入到一個list表中
#coding:utf-8from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport numpy as npimport osimport sysimport mathimport numpyimport timeimport argparseimport randomimport cv2def findAllfile(path, allfile): filelist = os.listdir(path) for filename in filelist: filepath = os.path.join(path, filename) if os.path.isdir(filepath): #print(filepath) findAllfile(filepath, allfile) else: allfile.append(filepath) return allfile #場景1 讀取一個文件夾中所有文件,存入到一個list表中def process1(srcpath, imgprocess_result): #遍歷圖像文件夾 image_files = findAllfile(srcpath,[]) #image_files為所有文件的list #判斷 目錄是否存在,存在就刪除,并且重建 if os.path.exists(imgprocess_result): os.system('rm -rf ' + imgprocess_result) if not os.path.isdir(imgprocess_result): # Create the log directory if it doesn’t exist os.makedirs(imgprocess_result) #是否隨機打亂文件順序 #random.shuffle(image_files) #遍歷所有 for facepath in image_files: print('原始文件路徑:', facepath) #獲取文件名稱 data_split = facepath.strip().split('/') image_floder = data_split[-2] print('文件所在目錄:', image_floder) image_name = data_split[-1] print('文件名稱:', image_name) image_newfloder = imgprocess_result + '/' + image_floder #判斷 目錄是否存在,不存在就重建 if not os.path.isdir(image_newfloder): # Create the log directory if it doesn’t exist os.makedirs(image_newfloder) image_newpath = image_newfloder + '/' + image_name print('處理后的文件路徑:', image_newpath) #開始處理文件 #.............. # ##場景2 首先讀取一個文件夾中的所有子目錄,然后依次遍歷各個子目錄的所有文件def process2(srcpath, imgprocess_result): #找出所有的子目錄 filelist = os.listdir(srcpath) for filename in filelist: filepath = os.path.join(srcpath, filename) if os.path.isdir(filepath): print('原始子目錄路徑:', filepath) image_files = findAllfile(filepath,[]) for facepath in image_files:print('原始文件路徑:', facepath)#獲取文件名稱data_split = facepath.strip().split('/')image_floder = data_split[-2]print('文件所在目錄:', image_floder)image_name = data_split[-1]print('文件名稱:', image_name)image_newfloder = imgprocess_result + '/' + image_floder#判斷 目錄是否存在,不存在就重建if not os.path.isdir(image_newfloder): # Create the log directory if it doesn’t exist os.makedirs(image_newfloder)image_newpath = image_newfloder + '/' + image_nameprint('處理后的文件路徑:', image_newpath)#開始處理文件#..............##if __name__ == ’__main__’: #原始文件夾 srcpath = '/DATA/share/publicdata/face/dmt_face/test' #處理完畢后存放文件 imgprocess_result = '/DATA/share/publicdata/face/dmt_face/imgprocess_result' print('方法1nnnn') process1(srcpath, imgprocess_result) print('nnn方法2') process2(srcpath, imgprocess_result)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
