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中用memcached来减少数据库查询次数的教程
Apr 07 Python
Python实现包含min函数的栈
Apr 29 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
python生成excel的实例代码
Nov 08 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
使用django实现一个代码发布系统
Jul 18 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 Python
Python3.9新特性详解
Oct 10 Python
python字符串的多行输出的实例详解
Jun 08 Python
python中subplot大小的设置步骤
Jun 28 Python
Anaconda配置各版本Pytorch的实现
Aug 07 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 5.0创建图形的巧妙方法
2010/10/12 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
Python中bisect的用法
2014/09/23 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
Python语法快速入门指南
2015/10/12 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
python中pyplot基础图标函数整理
2020/11/10 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
竞选班长的演讲稿
2014/04/24 职场文书
管理提升方案
2014/06/04 职场文书
节能减耗标语
2014/06/21 职场文书
村创先争优活动总结
2014/08/28 职场文书
2014年班级工作总结
2014/11/14 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python