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中使用smtplib和email模块发送邮件实例
Apr 22 Python
python网络编程学习笔记(三):socket网络服务器
Jun 09 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
python实现批量改文件名称的方法
May 25 Python
Python操作Word批量生成文章的方法
Jul 28 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
Feb 09 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 Python
python 基于pygame实现俄罗斯方块
Mar 02 Python
Django migrate报错的解决方案
May 20 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
php 异常处理实现代码
2009/03/10 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
php二维数组转成字符串示例
2014/02/17 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
Javascript this 的一些学习总结
2012/08/31 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
Vue.js进阶知识点总结
2018/04/01 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
python opencv判断图像是否为空的实例
2019/01/26 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
化学系大学生自荐信范文
2014/03/01 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
贫困证明书范文
2015/06/16 职场文书
基层党建工作简报
2015/07/21 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技