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 相关文章推荐
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Python中使用ElementTree解析XML示例
Jun 02 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 Python
Django实现发送邮件功能
Jul 18 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
详解react-redux插件入门
2018/04/19 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
Python中input和raw_input的一点区别
2014/10/21 Python
Python利用IPython提高开发效率
2016/08/10 Python
python 获取url中的参数列表实例
2018/12/18 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
详解python中eval函数的作用
2019/10/22 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
Python正则表达式学习小例子
2020/03/03 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
如何现实servlet的单线程模式
2014/08/05 面试题
欢度春节标语
2014/07/01 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
三八妇女节标语
2014/10/09 职场文书
小学教师个人总结
2015/02/05 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
教你如何用cmd快速登录服务器
2022/06/10 Servers
JS高级程序设计之class继承重点详解
2022/07/07 Javascript