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计算最大优先级队列实例
Dec 18 Python
Python脚本实现网卡流量监控
Feb 14 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
深入浅出分析Python装饰器用法
Jul 28 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
python输出pdf文档的实例
Feb 13 Python
django注册用邮箱发送验证码的实现
Apr 18 Python
Python3接口性能测试实例代码
Jun 20 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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 xml文件操作实现代码(二)
2009/03/20 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
js 动态选中下拉框
2009/11/26 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
js parseInt("08")未指定进位制问题
2010/06/19 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
python绘图方法实例入门
2015/05/19 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Django自带的用户验证系统实现
2020/12/18 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
学生档案自我鉴定
2013/10/07 职场文书
汽车运用工程毕业生自荐信
2013/10/29 职场文书
机关财务管理制度
2014/01/17 职场文书
图书室管理制度
2014/01/19 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
python字符串常规操作大全
2021/05/02 Python
python自动化八大定位元素讲解
2021/07/09 Python