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 相关文章推荐
shelve  用来持久化任意的Python对象实例代码
Oct 12 Python
详解Golang 与python中的字符串反转
Jul 21 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
python中Lambda表达式详解
Nov 20 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
python线程join方法原理解析
Feb 11 Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 Python
python实现密码强度校验
Mar 18 Python
Python reques接口测试框架实现代码
Jul 28 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
Nov 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判断字符以及字符串的包含方法属性
2008/08/30 PHP
php mssql 数据库分页SQL语句
2008/12/16 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
PHP工厂模式的日常使用
2019/03/20 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python实现Event回调机制的方法
2019/02/13 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
园林技术个人的自我评价
2014/01/08 职场文书
酒店经理职责
2014/01/30 职场文书
会计系毕业求职信
2014/08/07 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Python获取字典中某个key的value
2022/04/13 Python