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 相关文章推荐
Python之eval()函数危险性浅析
Jul 03 Python
Python中的localtime()方法使用详解
May 22 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
对django中foreignkey的简单使用详解
Jul 28 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
python函数调用,循环,列表复制实例
May 03 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
python运算符之与用户交互
Apr 13 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
合作指挥官:孟斯克
2020/03/16 星际争霸
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP制作万年历
2015/01/07 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
jQuery遍历Form示例代码
2013/09/03 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
js返回顶部实例分享
2016/12/21 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python中文件遍历的两种方法
2014/06/16 Python
Python中DJANGO简单测试实例
2015/05/11 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
总监职责范文
2013/11/09 职场文书
婚内房产协议书范本
2014/10/02 职场文书
个人简历求职信范文
2015/03/20 职场文书
环保主题班会教案
2015/08/13 职场文书
小学音乐课教学反思
2016/02/18 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
nginx实现动静分离的方法示例
2021/11/07 Servers