python实现:递归删除文件并保存删除记录

时间:2021-06-18 16:53:24

说明:

此脚本用于删除指定目录及子目录下符合删除规则的文件,并将删除的文件记录到指定目录下的指定文件,便于查看删除记录。

注意:

此脚本删除的文件,不会进入回收站,将被直接彻底删除,请谨慎操作!!!

使用方法:

1. 安装python环境
环境要求python2.7
2. 编辑文件delFile.py,只需修改以下三个参数
2.1 修改 del_path:删除文件的目标目录,支持绝对路径和相对路径,建议用绝对路径
2.2 修改 del_file_format:删除文件的格式,以什么结尾。 例如: ".txt",将会删除目标目录下所有以.txt结尾的文件
2.3 修改 filename:删除的文件名写入的文件, 支持绝对路径和相对路径,建议用绝对路径
2.4 修改后保存文件
3. 进入win 命令行模式(请自行百度)进入delFile.py存在的目录执行一下命令
python delFile.py
4. 屏幕输入“Delete the files successfully!”,说明删除文件成功。

源码如下

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import time def del_files(del_path, del_file_format):
del_file_list = []
for root , dirs, files in os.walk(del_path):
for name in files:
for file_format in del_file_format:
if name.endswith(file_format):
now = time.strftime("%Y-%m-%d %H:%M:%S")
os.remove(os.path.join(root, name))
del_file = os.path.join(root, name)
del_file = "[ " + now + " ]" + " [ DELETE ] " + del_file
del_file_list.append(del_file)
return del_file_list def write_result(filename, del_file_list):
fopen = open(filename, 'a')
for temp in del_file_list:
fopen.write(temp+'\n')
fopen.close() if __name__ == "__main__":
# 删除文件的目标目录,支持绝对路径和相对路径,建议用绝对路径
del_path = 'F:/delFile/testFile' # 这是绝对路径
# del_path = './testFile' # 这是相对路径
# 删除文件的格式,以什么结尾。
# 例如: ".txt",将会删除目标目录下所有以.txt结尾的文件
del_file_format = ['.rvt', '.txt']
# 删除的文件名写入的文件, 支持绝对路径和相对路径,建议用绝对路径
filename = 'F:/delFile/del_file.log' # 这是绝对路径
# filename = './del_file_log.log' # 这是相对路径
# 删除文件
del_file_list = del_files(del_path, del_file_format)
# 记录删除的文件
write_result(filename, del_file_list)
print "Delete the files successfully!"
print "Check the deletion details, path :" + filename

源码GitHub地址:https://github.com/Bryan130/PythonProject/tree/master/py2/delFile