说明:

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

注意:

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

使用方法:

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. 【原创】谈一个数学教育专业的IT职业生涯

    2003年,有许多值得记住,第一个是非典,第二个就是高考数学卷.直到今年2019年,时隔16年,有人说2019年高考数学卷难度堪比2003年,但还没难到2003年的程度. 我,2003年高考,进考场先 ...

  2. C语言中的位域[转]

    有些信息在存储时,并不需要占用一个完整的字节,而只需要一个或几个二进制位即可;比如:在存放一个开关量时,只有0和1两种状态,只需要使用一个二进制位即可存储;为了节省存储空间,C语言提供了一种数据结构, ...

  3. Marcin and Training Camp

    D. Marcin and Training Camp 参考:D. Marcin and Training Camp 思路:首先先确定最大成员的\(a_i\),因为不能够某个成员i认为自己比其他所有成 ...

  4. axios的post请求方式,怎么把参数直接加在URL后面,不用payload

    export const delUser = (id) => { return axios.post("/user/remove", null, { params:{ id, ...

  5. Yum:[Errno 5] [Errno 2] No such file or directory

    出现这样的问题,就是因为之前python2升级到python3之后,yum有些配置文件定位不到之前的python2了,所以这里需要改掉两个配置文件就不会出事了. yum安装软件时,可以连接yum 仓库 ...

  6. Spring Boot 入门之消息中间件篇(转发)

    一.前言 在消息中间件中有 2 个重要的概念:消息代理和目的地.当消息发送者发送消息后,消息就被消息代理接管,消息代理保证消息传递到指定目的地. 我们常用的消息代理有 JMS 和 AMQP 规范.对应 ...

  7. java_切面日志

    切面日志举例 package com.keyba1; import java.lang.annotation.ElementType; import java.lang.annotation.Rete ...

  8. 卸载阿里云盾(安骑士)监控&屏蔽云盾IP

    卸载阿里云盾监控 wget http://update.aegis.aliyun.com/download/uninstall.sh chmod +x uninstall.sh ./uninstall ...

  9. AMBARI部署HADOOP集群(3)

    1. 安装ambari-server yum -y install ambari-server 2. ambari server 需要一个数据库存储元数据,默认使用的 Postgres 数据库.默认的 ...

  10. SUSE系列---修改IP和hosts文件

    有些时候我们需要修改linux系统的IP,此时我们要注意,修改IP之后,如果我们如果不修改hosts文件,那么可能我们一些服务会无法使用:下面分别记录修改IP和hosts文件的方法: 修改IP: 打开 ...