python批量处理文件或文件夹

时间:2021-05-22

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

# -*- coding: utf-8 -*-import os,shutilimport sysimport 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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章