说明:

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

注意:

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

使用方法:

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. Qbxt 模拟题 day3(am) T3 选数字 (select)(贪心)

    选数字 (select Time Limit:3000ms Memory Limit:64MB 题目描述 LYK 找到了一个 n*m 的矩阵,这个矩阵上都填有一些数字,对于第 i 行第 j 列的位置上 ...

  2. NOI2013 二叉查找树

    题目链接:戳我 对于一个排序二叉树来讲,它的中序遍历对应的序列是可以确定的. 我们知道如果求一个访问频率最低的(也就是没有修改),直接就区间DP即可.\(dp[i][j]=min(dp[i][j],d ...

  3. CF1228F One Node is Gone

    题目链接 问题分析 这题感觉就是有很多种方法,然后一种都写不明白-- 首先分为3种情况: 删了根节点下的一个节点,对应两个答案: 删了一个叶节点,对应一个答案: 删了一个其他节点,对应一个答案. 可以 ...

  4. y7000笔记本 darknet-yolo安装与测试(Ubuntu16.04+Cuda9.0+Cudnn7.1)

    https://zhuanlan.zhihu.com/p/41096599 1.先查看是否安装有以下组件,若有先考虑彻底删除再安装(安装严格按照下面顺序进行) 查看nvidia 版本 nvidia-s ...

  5. 使用IDEA配置SpringBoot热部署无效解决

    首先检查自己pom.xml文件里是否有加入依赖 <dependency> <groupId>org.springframework.boot</groupId> & ...

  6. FinalCutPro快捷键

    FinalCutPro快捷键使用 FinalCutPro的快捷键使用十分有用,特对一些基本的快捷键进行了总结 1)i:截取片段开始Initial 2)o: 截取片段结束Over i和o可以在一个素材片 ...

  7. C++ STL 中 map 容器

    C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...

  8. html添加注释怎么弄?

    HTML 注释: <!--这是一段注释.注释不会在浏览器中显示.--> 这是一段普通的段落. 快捷键: 我用的是 Notpad++ 添加行注释 Ctrl+K 取消行注释 Ctrl+Shif ...

  9. oracle设置默认值无效

    一次做农行的项目,在向一个表插入数据时我们要求插入字符类型的操作日期和时间,我们这边当时采取的是给日期和时间字段设置默认值的方法:下面我简单还原一下当时的表结构 -- Create table cre ...

  10. LC 652. Find Duplicate Subtrees

    Given a binary tree, return all duplicate subtrees. For each kind of duplicate subtrees, you only ne ...