如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件
#场景1 读取一个文件夹中所有文件,存入到一个list表中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#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://www.cnblogs.com/adong7639/p/8527161.html