前言:
还是数据处理工作,接触到要删除文件夹下所用不到的数据,进行批量处理的操作,根据网上大神写的代码及自己使用现分享如下,后续也会进行补充和调整
1.删除指定后缀名文件
import os
#1. 删除指定文件
for files in os.listdir('output'):
if files.endswith(".py"):
os.remove(os.path.join('output',files))
2.删除所有目录及其子目录所有文件
import os,shutil
def del_file(filepath):
"""
删除某一目录下的所有文件或文件夹
:param filepath: 路径
:return:
"""
del_list = os.listdir(filepath)
for f in del_list:
file_path = os.path.join(filepath, f)
if os.path.isfile(file_path):
os.remove(file_path)
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
del_file('test_fold')
3.递归删除指定文件类型的所有目录及其子目录下的文件
import os
from os import path
import glob
def suffix(file, *suffixName):
array = map(file.endswith, suffixName)
if True in array:
return True
else:
return False
def getFlist(path):
lsdir = os.listdir(path)
dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
if dirs:
for i in dirs:
getFlist(os.path.join(path, i))
files = [i for i in lsdir if os.path.isfile(os.path.join(path, i))]
for file in files:
if suffix(file, ".bin", ".ply"):
os.remove(os.path.join(path, file))
if __name__ == '__main__':
getFlist('./xxx')
参考:
- https://www.cnblogs.com/ywheunji/p/12246433.html
- https://blog.csdn.net/weixin_44312010/article/details/107622027