python实现:递归删除文件并保存删除记录
说明:
此脚本用于删除指定目录及子目录下符合删除规则的文件,并将删除的文件记录到指定目录下的指定文件,便于查看删除记录。
注意:
此脚本删除的文件,不会进入回收站,将被直接彻底删除,请谨慎操作!!!
使用方法:
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实现:递归删除文件并保存删除记录的更多相关文章
- c# 删除文件,清理删除文件
c# 删除程序占用的文件,清理删除文件,彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, File ...
- c# 删除程序占用的文件,强力删除文件,彻底删除文件,解除文件占用
c# 删除程序占用的文件.清理删除文件.彻底删除文件,解除文件占用 文件打开时,以共享读写模式打开 FileStream inputStream = new FileStream(name, File ...
- Python基础之创建文件夹与删除文件夹。
参考链接:https://blog.csdn.net/weixin_43826242/article/details/87101436 创建目录结构 # 创建文件目录结构 def create_fol ...
- Git 时光穿梭鸡 删除文件 以及批量删除文件
先添加一个新文件test.txt到Git并且提交: 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了 $ rm test.txt 这个时候,Git知道你删除了文件, 因此,工作 ...
- git 删除文件 、只删除远程仓库文件、更换远程仓库
一.删除文件 1.克隆远程仓库到本地库. 例如使用ssh方法: git clone git@github.com:xxx/xxx.git 2.对需要删除的文件.文件夹进行如下操作: git rm te ...
- java调用删除文件的方法删除文件,却删除不干净
场景: 程序中在做数据下载时,生成了一个临时文件夹.夹子里面有一些txt和其他格式文件. 数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留. 网搜到了这个问题的原因: 内 ...
- GIT入门笔记(12)- 删除文件、提交删除和恢复删除
在Git中,删除也是一个修改操作,我们实战一下, 1.先添加add一个新文件test.txt到Git并且提交commit到本地版本库: $ git add test.txt$ git commit - ...
- C#删除文件夹以及删除文件
public static void DelectDir(string srcPath) { try { DirectoryInfo dir = new DirectoryInfo(srcPath); ...
- python 删除文件和文件夹
1.删除文件 '''删除文件 ''' def DeleteFile(strFileName): fileName = unicode(strFileName, "utf8") if ...
随机推荐
- UNIX下socket通信 - UDP通信
一.UNIX下socket通信: socket套接字是一种可以进行网络通信的内核对象,它是一个唯一的标示符,一般称它为socket描述符. 注意:UDP通信需要客户端先发送消息,服务端先进行等待客户端 ...
- 安装交叉工具链arm-linux-gcc
基本步骤如下: (1)建立目录 $ sudo mkdir /usr/local/arm (2)复制文件 文件arm-linux-gcc-4.4.3.tar.gz,放在/var/ftp中,进入ftp,$ ...
- 二进制上的数位dpPOJ 3252
Round number POJ - 3252 题目大意:一个"round number" 数的定义是,将它转化成2进制后,0的个数大于等于1的个数,要求的就是在[s,f]范围内& ...
- codevs 2804 最大最小数质因数 x
题目描述 Description 先输入n,n<=20;再依次输入n个不同的数,每个数<=1000000;找出最大数和最小数,并输出最大最小数的质 ...
- Js模块化开发--seajs和gruntJs
1.Seajs库 解决开发中的冲突依赖等问题,提供代码可维护性. SeaJS 是由玉伯开发的一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块和css ...
- BZOJ 5330 Luogu P4607 [SDOI2018]反回文串 (莫比乌斯反演、Pollard Rho算法)
题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=5330 (Luogu) https://www.luogu.org/prob ...
- docker的数据管理
容器中管理数据主要有两种方式: 1.数据卷:容器内数据直接映射到本地宿主机. 2.数据卷容器:使用特定容器维护数据卷 数据卷: 数据卷是一个可供容器使用的特殊目录,他将主机操作系统目录直接映射进容器. ...
- leetcode题目2.两数相加(中等)
题目描述: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来 ...
- SQL Server分页的存储过程写法以及性能比较
------创建数据库data_Test ----- create database data_Test GO use data_Test GO create table tb_TestTable - ...
- swift--【do..catch与try,try?,try!】
throws抛出异常, 那么就必须通过try来处理 try : 标准的处理方式, 该方式必须结合do catch来处理 try? :告诉系统可能有错, 也可能没错, 如果发生错误, 那么返回nil, ...