博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python文件夹批处理操作
阅读量:5745 次
发布时间:2019-06-18

本文共 3169 字,大约阅读时间需要 10 分钟。

如图所示,有一个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_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)

 

转载地址:http://nqxzx.baihongyu.com/

你可能感兴趣的文章
《游戏开发物理学(第2版)》一导读
查看>>
Erlang简史(翻译)
查看>>
深入实践Spring Boot2.4.2 节点和关系实体建模
查看>>
10个巨大的科学难题需要大数据解决方案
查看>>
Setting Up a Kerberos server (with Debian/Ubuntu)
查看>>
用 ThreadLocal 管理用户session
查看>>
setprecision后是要四舍五入吗?
查看>>
shiro初步 shiro授权
查看>>
上云就是这么简单——阿里云10分钟快速入门
查看>>
MFC多线程的创建,包括工作线程和用户界面线程
查看>>
我的友情链接
查看>>
FreeNAS8 ISCSI target & initiator for linux/windows
查看>>
cvs文件提交冲突解决方案
查看>>
PostgreSQL数据库集群初始化
查看>>
++重载
查看>>
Rainbond 5.0.4版本发布-做最好用的云应用操作系统
查看>>
nodejs 完成mqtt服务端
查看>>
在ASP.NET MVC 中获取当前URL、controller、action
查看>>
Spring IoC容器初的初始化过程
查看>>
sql server 触发器
查看>>