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通过urllib2爬网页上种子下载示例
Feb 24 Python
python实现用户答题功能
Jan 17 Python
python numpy格式化打印的实例
May 14 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
Python中面向对象你应该知道的一下知识
Jul 10 Python
基于Python计算圆周率pi代码实例
Mar 25 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
python设置中文界面实例方法
Oct 27 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
May 12 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
php中导出数据到excel时数字变为科学计数的解决方法
2013/02/03 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
javascript eval和JSON之间的联系
2009/12/31 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
js自定义事件代码说明
2011/01/31 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
Python高级用法总结
2018/05/26 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
tensorflow常用函数API介绍
2020/04/19 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
幼儿师范毕业生自荐信
2013/11/09 职场文书
办公室前台的岗位职责
2013/12/20 职场文书
优秀村官事迹材料
2014/01/10 职场文书
2014年教研员工作总结
2014/12/23 职场文书
nginx访问报403错误的几种情况详解
2022/07/23 Servers