Python文件夹批处理操作代码实例


Posted in Python onJuly 21, 2020

如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件

Python文件夹批处理操作代码实例

Python文件夹批处理操作代码实例

#场景1 读取一个文件夹中所有文件,存入到一个list表中

Python文件夹批处理操作代码实例

#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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中黄金分割法实现方法
May 06 Python
python如何拆分含有多种分隔符的字符串
Mar 20 Python
Python中反射和描述器总结
Sep 23 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
python实现吃苹果小游戏
Mar 21 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 Python
python 8种必备的gui库
Aug 27 Python
python不同版本的_new_不同点总结
Dec 09 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 Python
Python常用库Numpy进行矩阵运算详解
Jul 21 #Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 #Python
Pandas的Apply函数具体使用
Jul 21 #Python
Python pandas对excel的操作实现示例
Jul 21 #Python
浅谈Python爬虫原理与数据抓取
Jul 21 #Python
用于ETL的Python数据转换工具详解
Jul 21 #Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
Jul 21 #Python
You might like
基于php常用正则表达式的整理汇总
2013/06/08 PHP
php权重计算方法代码分享
2014/01/09 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
python实现电子书翻页小程序
2019/07/23 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
python实现飞机大战小游戏
2019/11/08 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
优质的学校老师推荐信
2013/10/28 职场文书
教师绩效考核方案
2014/01/21 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
安全先进班组材料
2014/12/26 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
安全生产培训心得体会
2016/01/18 职场文书
校园安全学习心得体会
2016/01/18 职场文书
Python循环之while无限迭代
2022/04/30 Python