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列出一个文件夹及其子目录的所有文件
Jun 30 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
Python神奇的内置函数locals的实例讲解
Feb 22 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
python 命名规范知识点汇总
Feb 14 Python
Python requests获取网页常用方法解析
Feb 20 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
Python 中的 copy()和deepcopy()
Nov 07 Python
Python中tqdm的使用和例子
Sep 23 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP连接access数据库
2015/03/27 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
python调用外部程序的实操步骤
2019/03/04 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
详解KMP算法以及python如何实现
2020/09/18 Python
参观考察邀请函范文
2014/01/29 职场文书
评先进个人材料
2014/12/29 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL