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 相关文章推荐
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
python实现二分查找算法
Sep 21 Python
Python实现的双色球生成功能示例
Dec 18 Python
python 实现倒排索引的方法
Dec 25 Python
python通过tcp发送xml报文的方法
Dec 28 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
python实现猜拳游戏
Mar 04 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
解决Python字典查找报Keyerror的问题
May 26 Python
Python anaconda安装库命令详解
Oct 16 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
php的ddos攻击解决方法
2015/01/08 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
Python import用法以及与from...import的区别
2015/05/28 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
Tornado 多进程实现分析详解
2018/01/12 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
浅谈python常用程序算法
2019/03/22 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
医科大学毕业生自荐信
2014/02/03 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
学校2014年度工作总结
2014/12/06 职场文书
电影雨中的树观后感
2015/06/15 职场文书
六一文艺汇演主持词
2015/06/30 职场文书