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多线程ctrl+c退出问题解决方案
Oct 23 Python
Python3 正在毁灭 Python的原因分析
Nov 28 Python
详细介绍Python中的偏函数
Apr 27 Python
python编写爬虫小程序
May 14 Python
简介Django中内置的一些中间件
Jul 24 Python
Python自动化开发学习之三级菜单制作
Jul 14 Python
使用django实现一个代码发布系统
Jul 18 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
python实现飞行棋游戏
Feb 05 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 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
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
我的javascript 函数链之演变
2011/04/07 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
一百行python代码将图片转成字符画
2021/02/19 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
python @propert装饰器使用方法原理解析
2019/12/25 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
Python中私有属性的定义方式
2020/03/05 Python
会计应届生的自荐信
2013/12/13 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
2014年财务部工作总结
2014/11/11 职场文书
工作失误检讨书
2015/01/26 职场文书
迎新生晚会主持词
2015/06/30 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
OpenCV实现普通阈值
2021/11/17 Java/Android
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android