如图所示,有一个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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/191309/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)