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超时重新请求解决方案

在应用中,有时候会 依赖第三方模块执行方法,比如调用某模块的上传下载,数据库查询等操作的时候,如果出现网络问题或其他问题,可能有超时重新请求的情况; 目前的解决方案有 1. 信号量,但不...

对Xpath 获取子标签下所有文本的方法详解

对Xpath 获取子标签下所有文本的方法详解

在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string(path)") path --...

Python matplotlib以日期为x轴作图代码实例

Python matplotlib以日期为x轴作图代码实例

这篇文章主要介绍了Python matplotlib以日期为x轴作图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果图如下...

使用C语言扩展Python程序的简单入门指引

一、简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地...

Ranorex通过Python将报告发送到邮箱的方法

Ranorex通过Python将报告发送到邮箱的方法

Ranorex测试报告如何发送到邮箱在网上看了下,其实可以通过在Ranorex上或者VS调用编写发送邮箱代码就可以执行发送了,RX主要涉及到的开发语言是C++或者.NET。但是我想用Py...