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 zip文件 压缩
Dec 24 Python
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
轻量级的Web框架Flask 中模块化应用的实现
Sep 11 Python
Python实现的选择排序算法示例
Nov 29 Python
Python zip()函数用法实例分析
Mar 17 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
基于python生成英文版词云图代码实例
May 16 Python
树莓派升级python的具体步骤
Jul 05 Python
如何实现一个python函数装饰器(Decorator)
Oct 12 Python
python中random模块详解
Mar 01 Python
利用Python实时获取steam特惠游戏数据
Jun 25 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
js登录弹出层特效
2014/03/07 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
jqTransform美化表单
2015/10/10 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
Python MD5文件生成码
2009/01/12 Python
python实现跨文件全局变量的方法
2014/07/07 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
C语言面试题
2015/10/30 面试题
初中生学习生活的自我评价
2013/11/20 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
借款民事起诉状范文
2015/05/19 职场文书
法人代表资格证明书
2015/06/18 职场文书