python批量处理文件或文件夹

yipeiwu_com6年前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 字典中文key处理,读取,比较方法

python 字典中文key处理,读取,比较方法

昨天碰到的,如果键是中文,如何进行匹配呢,先看文本内容: 这是字典里两个元素的内容,编码是utf-8,中文内容 运行代码如下 # -*- coding: utf-8 -*-...

Python中的面向对象编程详解(下)

继承 继承描述了基类的属性如何“遗传”给派生类。一个子类可以继承它的基类的任何属性,不管是数据属性还是方法。 创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要...

Pytorch中的VGG实现修改最后一层FC

https://discuss.pytorch.org/t/how-to-modify-the-final-fc-layer-based-on-the-torch-model/766/1...

python实现数组插入新元素的方法

本文实例讲述了python实现数组插入新元素的方法。分享给大家供大家参考。具体如下: li=['a', 'b'] li.insert(0,"c") 输出为:['c', 'a'...

python 修改本地网络配置的方法

本文主要说一下怎么使用Python来修改本地的ip和dns等,因为有本地的ip和dns都是随机获取的,有些时候不是很方便,需要修改,我就稍微的封装了一下,但是随机ip和网关、子网掩码等我...