• python文件夹批处理操作


    如图所示,有一个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
    
    
    
    ")
        process1(srcpath, imgprocess_result)
        print("
    
    
    方法2")
        process2(srcpath, imgprocess_result)
  • 相关阅读:
    记一则玄乎奇玄的ADG误删自救事件
    ORACLE 日常信息查询sql
    Linux脚本判断磁盘容量
    postgresql数据库创建触发器记录表修改时间
    centos7关闭防火墙
    centos7 安装mysql5.7(二进制tar包方式)
    Oracle11G RMAN-06214: Datafile Copy /u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_cpbd.f
    SQLPlus中set命令
    oradehub命令
    记一报错解决:ORA-00845: MEMORY_TARGET not supported on this system
  • 原文地址:https://www.cnblogs.com/adong7639/p/8527161.html
Copyright © 2020-2023  润新知