Python实现删除文件但保留指定文件


Posted in Python onJune 21, 2015

由于给客户的发布版本上客户改动了些代码和图片,我们这边给他们更新publish都是增量更新(开发提供更新指定的文件,我们提取出来给客户进行覆盖更新),但有时需要更新的文件较多导致不得不一个一个的进行查找、替换,工作量大而且容易出错。所以用python写个保留pulish后目录的指定文件、删除其他文件的功能。

代码如下:

 import os

 import os.path

 

 def DeleteFiles(path,fileList):

     for parent,dirnames,filenames in os.walk(path):

 

         FullPathList = []

         DestPathList = []

 

         for x in fileList:

             DestPath = path + x

             DestPathList.append(DestPath)

 

 

         for filename in filenames:                   

             FullPath = os.path.join(parent,filename)

             FullPathList.append(FullPath)

 

 

         for xlist in FullPathList:

             if xlist not in DestPathList:

                 os.remove(xlist)

代码解释:
  1、for parent,dirnames,filenames in os.walk(path): 该for循环用于遍历指定path的父文件夹、文件夹名(不含目录)、文件名

2、

        for x in fileList:

            DestPath = path + x

            DestPathList.append(DestPath)

该方法两个参数分别是path,filelist。path用来指定publish文件的存放目录,例如:'D:\publish',filelist通过list存放你希望保留的文件及该文件路径,例如:

[r'\1.txt',r'\a\1.txt'],然后将path和filelist拼接起来存放到另一个列表中就是你希望保存文件的完整路径存放在DestPathList中,既['D:\\publish\\1.txt','D:\\publish\\a\\1.txt']

3、

        for filename in filenames:                     

            FullPath = os.path.join(parent,filename)

            FullPathList.append(FullPath)

将目录下所有文件的绝对路径存放在列表FullPathList中

4、

        for xlist in FullPathList:

            if xlist not in DestPathList:

                os.remove(xlist)

遍历FullPathList中元素跟DestPathList中元素进行比对,如果不相同则删除文件
功能虽然简单,但工作中还是比较实用的,故在此留下脚印。

Python 相关文章推荐
linux系统使用python监测系统负载脚本分享
Jan 15 Python
python实现提取百度搜索结果的方法
May 19 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
Python使用sorted排序的方法小结
Jul 28 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
一些关于python 装饰器的个人理解
Aug 31 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
Django中的DateTimeField和DateField实现
Feb 24 Python
Opencv中cv2.floodFill算法的使用
Jun 18 Python
python中Matplotlib绘制直线的实例代码
Jul 04 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 #Python
让Python代码更快运行的5种方法
Jun 21 #Python
Python文件读取的3种方法及路径转义
Jun 21 #Python
Python多线程和队列操作实例
Jun 21 #Python
Python中type的构造函数参数含义说明
Jun 21 #Python
Python base64编码解码实例
Jun 21 #Python
python在控制台输出进度条的方法
Jun 20 #Python
You might like
一个域名查询的程序
2006/10/09 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
js里面的变量范围分享
2020/07/18 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
python实现矩阵乘法的方法
2015/06/28 Python
python如何统计代码运行的时长
2019/07/24 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
2015年入党决心书
2015/02/05 职场文书
毕业设计致谢语
2015/05/14 职场文书
贷款担保书范本
2015/09/22 职场文书
人生感悟经典句子
2019/08/20 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
python元组打包和解包过程详解
2021/08/02 Python
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL