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守护线程用法实例
Jun 23 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
tensorboard显示空白的解决
Feb 15 Python
PageFactory设计模式基于python实现
Apr 14 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
Python日志模块logging用法
Jun 05 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接受文件并获得其后缀名的方法
2015/08/05 PHP
浅谈PHP封装CURL
2019/03/06 PHP
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
python生成器generator用法实例分析
2015/06/04 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
python中字符串内置函数的用法总结
2018/09/13 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
python找出因数与质因数的方法
2019/07/25 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
土木工程专业自荐信
2013/10/04 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python