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 提取文件的小程序
Jul 29 Python
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
微信跳一跳python代码实现
Jan 05 Python
PyCharm设置SSH远程调试的方法
Jul 17 Python
使用numba对Python运算加速的方法
Oct 15 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
python快排算法详解
Mar 04 Python
Python I/O与进程的详细讲解
Mar 08 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
Python selenium绕过webdriver监测执行javascript
Apr 12 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
PHP连接access数据库
2015/03/27 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
Vue 使用中的小技巧
2018/04/26 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
Python中super的用法实例
2015/05/28 Python
python3.5仿微软计算器程序
2020/03/30 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
加油口号大全
2014/06/13 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
2014年售票员工作总结
2014/11/19 职场文书
南京大屠杀观后感
2015/06/02 职场文书
PL350与SW11的比较
2021/04/22 无线电