Python資料夾批處理操作程式碼例項
阿新 • • 發佈:2020-07-22
如圖所示,有一個test資料夾,裡面有3個子資料夾,每個子資料夾中有若干圖片檔案
#場景1 讀取一個資料夾中所有檔案,存入到一個list表中
#coding:utf-8 from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import os import sys import math import numpy import time import argparse import random import cv2 def 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_name print("處理後的檔案路徑:",image_newpath) #開始處理檔案 #.............. # # if __name__ == '__main__': #原始資料夾 srcpath = "/DATA/share/publicdata/face/dmt_face/test" #處理完畢後存放檔案 imgprocess_result = "/DATA/share/publicdata/face/dmt_face/imgprocess_result" print("方法1\n\n\n\n") process1(srcpath,imgprocess_result) print("\n\n\n方法2") process2(srcpath,imgprocess_result)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。