python批量处理文件或文件夹

yipeiwu_com5年前Python基础

本文实例为大家分享了python批量处理文件或文件夹的具体代码,供大家参考,具体内容如下

# -*- coding: utf-8 -*-
import os,shutil
import sys
import numpy as np
##########批量删除不同文件夹下的同名文件夹#############
def arrange_file(dir_path0):
  for dirpath,dirnames,filenames in os.walk(dir_path0):
    if 'my_result' in dirpath:
      # print(dirpath)
      shutil.rmtree(dirpath)


##########批量在不同文件夹下新建同名子文件夹并把文件搬移到子文件夹#############
def arrange_file(dir_path0):
  for dirpath,dirnames,filenames in os.walk(dir_path0):
    for files in filenames:
      total_path = os.path.join(dirpath,files)
      root_path,file_path = total_path.split(dir_path,1)
      if 'png' in file_path:
        new_file_path = '.' + file_path[:-9] + 'new_file_name/'
        # print(file_path)
        # print(new_file_path)
        # print(new_file_path + file_path[-9:])
        # if not os.path.exists(new_file_path):
        #   os.makedirs(new_file_path)
        # shutil.move('.' + file_path,new_file_path + file_path[-9:])

##########批量删除不同文件夹下符合条件的文件##################
def arrange_file(dir_path0):
  for dirpath,dirnames,filenames in os.walk(dir_path0):
    for files in filenames:
      total_path = os.path.join(dirpath,files)
      # print(total_path)
      if 'jpg' in total_path and 'labels' in total_path:
        img = cv2.imread(total_path)
        if np.sum(img) == 0:
          print(total_path)
          os.remove(total_path)

###########批量把文件搬移到上一层文件夹并删除当前文件夹########
def arrange_file(dir_path0):
  for dirpath,dirnames,filenames in os.walk(dir_path0):
    for files in filenames:
      total_path = os.path.join(dirpath,files)
      root_path,file_path = total_path.split(dir_path0,1)
      # print(file_path[:-48])
      # return 0
      if 'jpg' in file_path:
        new_file_path = dir_path0 + file_path[:-48]
        shutil.move(dir_path0 + file_path,new_file_path + file_path[-9:])

  for dirpath,dirnames,filenames in os.walk(dir_path0):
    file_path = dirpath.split('./your_total_path')[1]
    if 'keywords' in file_path:
      # print(dirpath) 
      shutil.rmtree(dirpath)

if __name__=='__main__':
  dir_path0 = './your_total_path'
  arrange_file(dir_path0)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中Unittest框架的具体使用

Unittest 1.环境 Unittest为Python内嵌的测试框架,不需要特殊配置,仅需要在File---settings---Tools----Python Intergra...

详解Python中用于计算指数的exp()方法

 exp()方法返回指数x: ex. 语法 以下是exp()方法的语法: import math math.exp( x ) 注意:此函数是无法直接访问的,所以我们...

Django教程笔记之中间件middleware详解

Django教程笔记之中间件middleware详解

中间件介绍 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用...

Python进阶之自定义对象实现切片功能

切片是 Python 中最迷人最强大最 Amazing 的语言特性(几乎没有之一),在《Python进阶:切片的误区与高级用法》中,我介绍了切片的基础用法、高级用法以及一些使用误区。这些...

Python中type的构造函数参数含义说明

测试代码如下: 复制代码 代码如下:  class ModelMetaClass(type):      def __new__(cls...