1. 程式人生 > 程式設計 >python批量處理檔案或資料夾

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,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,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,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,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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。