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兔子毒药问题实例分析
Mar 05 Python
Python 26进制计算实现方法
May 28 Python
浅谈python中的数字类型与处理工具
Aug 02 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
python实现二分查找算法
Sep 21 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
Python中 range | np.arange | np.linspace三者的区别
Mar 22 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
咖啡产品发展的三大浪潮
2021/03/04 咖啡文化
在项目中寻找代码的坏命名
2012/07/14 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
PHP CURL使用详解
2019/03/21 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
javascript中的面向对象
2017/03/30 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
python文件操作之目录遍历实例分析
2015/05/20 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
详解python里的命名规范
2018/07/16 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
劳资专员岗位职责
2013/12/27 职场文书
文体活动实施方案
2014/03/27 职场文书
英文请假条
2014/04/11 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
世界气象日活动总结
2015/02/27 职场文书
南极大冒险观后感
2015/06/05 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL