import os
import re
class file_clean:
def __init__(self, folder, filerege):
self.folder = folder
self.filerege = filerege
self.folder_generator = os.walk(self.folder)
# 删除所有文件夹及子文件夹下指定文件
def del_all_file(self):
for folder, subfolder, file_list in self.folder_generator:
for file in file_list:
if self.filerege == '*':
del_all_file = os.path.join(folder, file)
os.remove(del_all_file)
elif re.findall(self.filerege, file):
del_all_file = os.path.join(folder, file)
print(del_all_file)
os.remove(del_all_file)
# 只删除所有文件夹下的指定文件
def del_file(self):
for folder, subfolder, file_list in self.folder_generator:
if os.path.dirname(folder) == os.path.dirname(self.folder):
for file in file_list:
if self.filerege == '*':
del_file = os.path.join(folder, file)
os.remove(del_file)
elif re.findall(self.filerege, file):
del_file = os.path.join(folder, file)
print(del_file)
os.remove(del_file)
if __name__ == '__main__':
# 选择文件夹路径 D盘C盘目录需要使用双斜杠r'D:\\', '\.wedrive'
go = file_clean(r'D:\eong', '\.WeDrive')
# 选择要执行的函数类型del_all_file删除件夹及子文件夹下指定文件,del_file只删除当前选择文件夹的指定文件
go.del_file()