说明:

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

注意:

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

使用方法:

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

python实现:递归删除文件并保存删除记录的更多相关文章

  1. c# 删除文件,清理删除文件

    c# 删除程序占用的文件,清理删除文件,彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, File ...

  2. c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用

    c# 删除程序占用的文件.清理删除文件.彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, File ...

  3. Python基础之创建文件夹与删除文件夹。

    参考链接:https://blog.csdn.net/weixin_43826242/article/details/87101436 创建目录结构 # 创建文件目录结构 def create_fol ...

  4. Git 时光穿梭鸡 删除文件 以及批量删除文件

    先添加一个新文件test.txt到Git并且提交: 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了 $ rm test.txt 这个时候,Git知道你删除了文件, 因此,工作 ...

  5. git 删除文件 、只删除远程仓库文件、更换远程仓库

    一.删除文件 1.克隆远程仓库到本地库. 例如使用ssh方法: git clone git@github.com:xxx/xxx.git 2.对需要删除的文件.文件夹进行如下操作: git rm te ...

  6. java调用删除文件的方法删除文件,却删除不干净

    场景: 程序中在做数据下载时,生成了一个临时文件夹.夹子里面有一些txt和其他格式文件. 数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留. 网搜到了这个问题的原因: 内 ...

  7. GIT入门笔记(12)- 删除文件、提交删除和恢复删除

    在Git中,删除也是一个修改操作,我们实战一下, 1.先添加add一个新文件test.txt到Git并且提交commit到本地版本库: $ git add test.txt$ git commit - ...

  8. C#删除文件夹以及删除文件

    public static void DelectDir(string srcPath) { try { DirectoryInfo dir = new DirectoryInfo(srcPath); ...

  9. python 删除文件和文件夹

    1.删除文件 '''删除文件 ''' def DeleteFile(strFileName): fileName = unicode(strFileName, "utf8") if ...

随机推荐

  1. UNIX下socket通信 - UDP通信

    一.UNIX下socket通信: socket套接字是一种可以进行网络通信的内核对象,它是一个唯一的标示符,一般称它为socket描述符. 注意:UDP通信需要客户端先发送消息,服务端先进行等待客户端 ...

  2. 安装交叉工具链arm-linux-gcc

    基本步骤如下: (1)建立目录 $ sudo mkdir /usr/local/arm (2)复制文件 文件arm-linux-gcc-4.4.3.tar.gz,放在/var/ftp中,进入ftp,$ ...

  3. 二进制上的数位dpPOJ 3252

    Round number POJ - 3252 题目大意:一个"round number" 数的定义是,将它转化成2进制后,0的个数大于等于1的个数,要求的就是在[s,f]范围内& ...

  4. codevs 2804 最大最小数质因数 x

                         题目描述 Description 先输入n,n<=20;再依次输入n个不同的数,每个数<=1000000;找出最大数和最小数,并输出最大最小数的质 ...

  5. Js模块化开发--seajs和gruntJs

    1.Seajs库 解决开发中的冲突依赖等问题,提供代码可维护性. SeaJS 是由玉伯开发的一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块和css ...

  6. BZOJ 5330 Luogu P4607 [SDOI2018]反回文串 (莫比乌斯反演、Pollard Rho算法)

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=5330 (Luogu) https://www.luogu.org/prob ...

  7. docker的数据管理

    容器中管理数据主要有两种方式: 1.数据卷:容器内数据直接映射到本地宿主机. 2.数据卷容器:使用特定容器维护数据卷 数据卷: 数据卷是一个可供容器使用的特殊目录,他将主机操作系统目录直接映射进容器. ...

  8. leetcode题目2.两数相加(中等)

    题目描述: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来 ...

  9. SQL Server分页的存储过程写法以及性能比较

    ------创建数据库data_Test ----- create database data_Test GO use data_Test GO create table tb_TestTable - ...

  10. swift--【do..catch与try,try?,try!】

    throws抛出异常, 那么就必须通过try来处理 try : 标准的处理方式, 该方式必须结合do catch来处理 try? :告诉系统可能有错, 也可能没错, 如果发生错误, 那么返回nil, ...